Как обрабатывать каждый продукт один за другим с постепенным обновлением прогресса, используя Spring реактив? - PullRequest
2 голосов
/ 21 июня 2019

Мне нужна помощь в Spring Reactive, где список остальных вызовов отправляет объекты Json и сервер весенней загрузки должен отправлять события обработки одно за другим. Позвольте мне вкратце объяснить с примером.

Допустим, в интерфейсе интерфейса есть 20 продуктов, пользователь выбирает все продукты для обработки. Каждая обработка продукта занимает минимум 1 минуту на стороне сервера. Всякий раз, когда обрабатывается каждый продукт, сервер должен отправлять структуру сообщений json как событие в интерфейсном интерфейсе, чтобы пользователь мог видеть постепенный прогресс обработки каждого продукта на сервере.

В интерфейсе это должно выглядеть следующим образом.

Продукт 1 успешно обработан

Продукт 2 успешно обработан

Ошибка продукта 3

вот так .....

На стороне сервера код Java должен быть таким. Подскажите, пожалуйста, как добиться этого с помощью Spring Reactive.

public Flux<ProdModel> createAllCGs(List<Product> prodList) {

        for(Product p : prodList) {

            //Process here ...
        }

        //use Spring Reactor Flux

        //return Flux type object in the form of Json structure event not as Text Stream event.
    }

Я знаю, что есть обходные пути для достижения этого с использованием традиционного механизма опроса или отправки продукта один за другим. Мой вопрос больше относится к стороне Spring Reactive, где вызов rest отправляет кучу продуктов для обработки один за другим, предоставляя соответствующие ответ в формате JSON на стороне пользовательского интерфейса. Я не знаю, возможно ли это или нет. Если вы считаете, что использование Spring Reactive невозможно, это также хорошо для меня, так что я могу связаться с моим архитектором, который предложил это.

...