Почему Spring-Cloud-Sleuth не работает должным образом с Spring-Boot 2.7 и Webflux?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Почему Spring-Cloud-Sleuth не работает должным образом с Spring-Boot 2.7 и Webflux?

Сообщение Anonymous »

У нас есть приложение Spring-Boot 2.7.18, в котором мы используем webflux. Для отслеживания хода процесса мы используем Spring-cloud-sleuth. При вызове конечной точки проблем нет, наш процесс отслеживается хорошо.
Но у нас есть некий механизм опроса, с помощью которого мы периодически опрашиваем сообщения от API. До Spring-Boot 2.7 эти процессы получали TraceId и SpaId от Sleuth, но после обновления до 2.7 это перестало работать.
У нас такая обработка.

Код: Выделить всё

 public void start() {
Flux.interval(Duration.ofSeconds(1))
.flatMap(tick -> apiCall())
.flatMap(message -> processing())
.subscribe();
}
При таком подходе у нас нет TraceId и SpaId в журналах после Spring-Boot 2.7.
После некоторого исследования я изменил реализацию , потому что сыщик должен быть запущен, и @Scheduled — хороший способ сделать это.

Код: Выделить всё

@Scheduled(fixedRate = 500)
public void process() {
if (sink != null) {
sink.next(System.currentTimeMillis());
}
}
public void start() { // start called from main first
Flux.create(emitter -> sink = emitter)
.flatMap(tick -> apiCall())
.flatMap(message -> processing())
.subscribe();
}
Таким образом, TraceId и SpaId генерируются правильно, но когда я вижу журналы, поступающие из цепочки потоков, я вижу дубликаты, что неправильно. Я могу себе представить, что, возможно, проблема может быть связана с неправильным распространением контекста.
Может быть, обновление до Spring Boot 3+ могло бы решить нашу проблему, но на данный момент мы придерживаемся этого.
Можете ли вы объяснить, почему такое поведение может произойти и как мне решить эту проблему?
Большое спасибо!

Подробнее здесь: https://stackoverflow.com/questions/790 ... x-properly
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Соединение Docker Cloud Cloud Cloud Cloud
    Anonymous » » в форуме JAVA
    0 Ответы
    83 Просмотры
    Последнее сообщение Anonymous
  • Соединение Docker Cloud Cloud Cloud Cloud
    Anonymous » » в форуме JAVA
    0 Ответы
    65 Просмотры
    Последнее сообщение Anonymous
  • Реализуется ли Context Manager (должным образом) HuggingFace Accelerate's init_empty_ewheways (должным образом)?
    Anonymous » » в форуме Python
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Реализуется ли Context Manager (должным образом) HuggingFace Accelerate's init_empty_ewheways (должным образом)?
    Anonymous » » в форуме Python
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Реализуется ли Context Manager (должным образом) HuggingFace Accelerate's init_empty_ewheways (должным образом)?
    Anonymous » » в форуме Python
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»