Я все еще новичок в Spring Webflux, и flatMap на Mono, похоже, не работает.У меня есть следующая функция и вызов kafkaPublisher.publishToTopic не работает.Я вставил оператор print, чтобы проверить, печатает ли он что-либо и даже не выполняет оператор print. publishToTopic возвращает Mono<Void>
.
private Mono<Void> test(Long gId, UUID pId) {
Mono<UUID> nId = pDao.findNId(pId);
Mono<List<String>> channels = nId.flatMapMany(pDao::findChannels).collectList();
return Mono.zip(nId, channels)
.flatMap(t -> {
System.out.println(t.getT1());
return kafkaPublisher.publishToTopic(gId, t.getT1().toString(), t.getT2());
});
}
Он вызывается, если flatMap
вызывается *1012*, как показано ниже.
private Mono<Void> test(Long gId, UUID pId) {
Mono<UUID> nId = pDao.findNId(pId);
Mono<List<String>> channels = nId.flatMapMany(pDao::findChannels).collectList();
Mono.zip(nId, channels)
.flatMap(t -> {
System.out.println(t.getT1());
return kafkaPublisher.publishToTopic(gId, t.getT1().toString(), t.getT2());
}).block();
return Mono.empty();
}