Я хочу использовать WebClient в Spring WebFlux для вызова некоторых URL, а затем поставить все моно на поток. когда я вызываю Flux.blockLast, я не могу получить результаты.
@Test
public void reactiveGetTest() {
long start = System.currentTimeMillis();
List<String> results = new ArrayList<>();
List<Mono<String>> monos = IntStream.range(0, 500)
.boxed()
.map(i -> reactiveGet("https://www.google.com/"))
.collect(Collectors.toList());
Flux.mergeSequential(monos)
.map(results::add)
.blockLast();
System.out.println("result: " + results.size());
System.out.println("total time: " + (System.currentTimeMillis() - start));
}
private Mono<String> reactiveGet(String url) {
return WebClient.create(url)
.get()
.retrieve()
.bodyToMono(String.class);
}
Я хочу получить список размером 500, но был 0!