Я пытаюсь сделать параллельные (пакетные) вызовы той же самой службы покоя, используя новый класс SpringBoot 2 Reactive WebClient (у него нет конечной точки пакета). Например, мне нужно 100 объектов «Комментарий» (с идентификаторами 1 ... 100), и я делаю следующие параллельные вызовы:
List<Mono<Comment>> monos = ids.stream()
.map(id -> webClient.get()
.uri("/comments/{id}", id)
.accept(MediaType.APPLICATION_JSON)
.retrieve()
.bodyToMono(Comment.class))
.collect(Collectors.toList());
return Flux.merge(monos);
Я новичок в Spring WebFlux и не уверен, что это правильный способ выполнять параллельные вызовы с WebClient
Есть ли лучший (более подходящий) способ сделать это (т.е.
Флюс конкат монос)?
Кроме того, когда я делаю это, старый устаревший AsyncRestTemplate я использую
ThreadPoolExecutor ... Должен ли я использовать аналогичную концепцию с
WebClient? ... Есть ли что-то похожее с реактивным?
Привет
Полный исходный код может быть связан по адресу: https://github.com/fdlessard/SpringBootReactiveComment