Кстати, я все еще изучаю weblux; Я не знаю, возможно ли это, или у меня неправильный подход, но с учетом этого параллельного потока.
Flux<String> enablers = Flux.fromIterable(enablersList)
.parallel()
.runOn(Schedulers.elastic())
.flatMap(element -> service.getAMono(string, entity, element))
.sequential();
, который вызывает метод с запросом веб-клиента (service.getAMono)
webClient.post()
.uri(url)
.headers(headers -> headers.addAll(httpHeaders))
.body(BodyInserters.fromObject(request))
.retrieve()
.bodyToMono(entity2.class);
Мне нужно дождаться окончания потока потока активаторов и обработать все ответы внутри него, причина в том, что если один из них выдаст мне ошибку или отрицательный ответ, я не буду запускать этот другой параллельный поток для блокировщиков
Flux<String> blockers = Flux.fromIterable(blockersList)
.parallel()
.runOn(Schedulers.elastic())
.flatMap(element -> service.callAMono(string, entity, element))
.sequential();
Я думаю о методе "zip", но этот объединяет оба ответа, и это не то, что я хочу Если кто-нибудь может помочь мне с этим.
ОБНОВЛЕНИЕ
enablers. //handle enablers response and if error return a custom Mono<response> with .reduce
И если нет ошибки в дескрипторе enablers
перейти к .thenMany
с другим Flux