Я новичок в Webflux и не могу найти подходящий материал для продолжения реализации.
Я хочу отправить запрос и обработать ответ асинхронно. В этом случае вызов службы занимает около 8-10 мс, чтобы ответить, поэтому мы выдаем запрос и продолжаем выполнять другую работу, и ищем ответ, когда он необходим для дальнейшей обработки.
Mono<Map<String,Price>> resp = webClient.post()
.uri("/{type}",isCustomerPricing ? "customer" : "profile")
.body(Mono.just(priceDetailsRequest),PriceDetailsRequest.class)
.retrieve().bodyToMono(customerPriceDetailsType);
Как сделать так, чтобы этот вызов выполнялся асинхронно в другом потоке (я пробовал subscriberOn с Schedulers.single / Scheuldes.parallel), но не видел, чтобы этот вызов выполнялся, пока не будет вызван Mono.block ().
Как нам достичь?
- Мы хотим, чтобы этот вызов выполнялся параллельно в отдельном потоке, поэтому
текущий поток может продолжить другую работу
- Когда обработка завершится, установите ответ для контекста
- Когда текущий поток ищет ответ, если служба не
завершено, заблокировать до завершения вызова