Я пытаюсь интегрировать Reactor 2x в существующую Spring 4
приложения для повышения производительности во время выполнения REST
запроса, где resources
могут быть выбраны независимо друг от друга, своего рода карту-свертка, где мы параллелизируйте задание на несколько потоков и затем присоедините их к буферу.исполнение Multithread на Spring 4 с помощью Reactor 2.0
До сих пор мы этот образец, работающий в не-пружинной среды:
//Ordered resources to apply transformations.
List<Map<String, Object>> result;
result = Streams.from(resources)
.flatMap(m -> Streams.just(m) .dispatchOn(Environment.cachedDispatcher())
.map(resourceToMapFunction::apply))
.buffer().next().await(5, TimeUnit.SECONDS);
В приведенном выше примере мы применим преобразование с помощью resourceToMapFunction
и затем присоединиться к с методом buffer()
, создать Promise
дождаться результата и вернуть result
.
Мой первый вопрос, так ли, как предполагается, используется реактор? Я знаю, что преобразования применяются правильно, но, возможно, я новичок в Reactor
, не используя что-то правильно.
Мой второй вопрос, не имеет большого значения, но есть ли что-либо в проекте Reactor
для возврата в том же порядке, что и в входе resources
? Поскольку это выполняется в нескольких потоках, я уверен, что ответа нет, и, как я уже сказал, это меньше моих забот, но я хотел спросить в любом случае.
Последний вопрос, когда я ввожу этот код на Spring
проект преобразование не удалось, потому что Bean
зависимости применить нижележащее преобразование не в потоках исполнения, это то, что я могу сделать легко с версией Spring реактора? Если да, есть ли какая-либо ссылка или документ, который показывает, как это сделать?
Большое спасибо!
Хосе Луис
Спасибо за ваш ответ, можете ли вы указать мне пример кода с помощью сокращения? Кроме того, как использовать его, используя «Spring ApplicationContext»? используйте «Весенние бобы», впрыскиваемые в основной поток. Я выполнил этот пример: https://github.com/reactor/reactor-samples/blob/master/src/main/java/org/projectreactor/samples/SpringSamples.java и сделал его работу с EventBus как POC, но моя конечная цель - работать с «Streams». Снова ваша помощь очень ценится. – jbarrueta