Код ниже взят из книги Learning Spring Boot 2.0
Грега Тернквиста. Он работает с активной зоной реактора 3.0.7. Он не скомпилируется с версией 3.1.0 или новее. В 3.0.7 метод Mono.just().and()
возвращает Mono<reactor.util.function.Tuple2<T, T2>>
. В 3.1.0 он возвращает Mono<Void>
.
Это действительно плохое, серьезное изменение в незначительной ревизии. Что мне нужно сделать, чтобы этот код работал под 3.1.0 и выше?
Flux.just("alpha", "bravo", "charlie")
.map(String::toUpperCase)
.flatMap(s -> Flux.fromArray(s.split("")))
.groupBy(String::toString)
.sort((o1, o2) -> o1.key().compareTo(o2.key()))
.flatMap(group -> Mono.just(group.key()).and(group.count()))
.map(keyAndCount ->
keyAndCount.getT1() + " => " + keyAndCount.getT2())
.subscribe(System.out::println);