Как отладить приведенный ниже код потока, если ожидаемый журнал отсутствует?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

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