Вот что я пытаюсь достичь с помощью потоковой передачи данных с помощью Flux.
Svc1 --flux -> Svc2 --flux -> MVC
Я могу для потоковой передачи данных из Svc1 успешно с помощью Flux. Моя конечная точка Svc1 создает приложение / поток + json и выглядит так:
{"stuff":"more stuff"}
...1 sec passes...
{"stuff":"other stuff"}
... and so on for n number
Проблема в том, что Svc2 передает эти данные в MVC. WebClient ждет всего результата этого потока, прежде чем что-либо делать. Он не «блокирует» мой код, но блокирует последующие функции WebClient.
Мой желаемый результат заключается в том, что, поскольку json элемент 1 передается в поток, он обрабатывается WebClient и отправляется на в другом потоке на MVC
Таким образом, поскольку элемент создается на самом конце, он будет доступен на внешнем интерфейсе до завершения потоковой передачи.
Вот мой код WebClient, с которым я работаю, чтобы попытаться разобраться, что я делаю не так?
WebClient client = WebClient.create(baseUrl)
.get()
.uri(url, uriVars)
.retrieve()
.bodyToFlux(String.class)
.log()
.subscribe()
WebClient получает это:
[{"stuff":"more stuff"}, {"stuff":"other stuff"}]
Помогите, пожалуйста! :)