Как отладить приведенный ниже код потока, если ожидаемый журнал отсутствует?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как отладить приведенный ниже код потока, если ожидаемый журнал отсутствует?

Сообщение Anonymous »

У меня есть логика кода, которая отправляет сообщение с одного сервера на другой сервер с помощью R-Socket, а весь код написан с использованием реактора (Flux/Mono). Иногда я замечаю, что некоторые сообщения не доставляются, но при попытке отладки я обнаруживаю, что журналы отсутствуют после определенного шага

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

logger.info("starting publish to other servers");
Mono ipsOfOtherServer = otherServers
.filter(//some filter condition//)
.groupBy(OtherServers::getServerIp)
.collectMap(GroupedFlux::key)
.flatMapMany(map -> Flux.fromIterable(map.entrySet()))
.collectList()
.doOnSuccess(list -> {
if(list.isEmpty()) {
logger.info("list is empty");
}
});

ipsOfOtherServer
.flatMapMany(Flux::fromIterable)
.concatMap(//logic to send message to other server//)
.block()
Во время отладки я замечаю первый журнал, но после этого ничего. Если список пуст, я ожидаю второй журнал, но он тоже не появляется. Есть идеи, что происходит или как отладить.

Подробнее здесь: https://stackoverflow.com/questions/790 ... is-missing
Ответить

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

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

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

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

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