我想Reactor 2x集成到現有的Spring 4
應用REST
請求的執行,其中resources
可以相互獨立獲取過程中提高性能,排序的映射簡化我們將作業並行化爲多個線程,然後將它們連接到一個緩衝區中。多線程執行使用反應堆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
依賴應用underlaying的轉變是不是在執行線程,這事我能與Spring反應堆版本容易嗎?如果是這樣,是否有任何鏈接或文件顯示如何做到這一點?
非常感謝!
何塞·路易斯·
感謝您的回答,你能指點我使用reduce的示例代碼嗎?另外,如何使用它應用'Spring ApplicationContext'?即使用注入主線程的'Spring Beans'。我遵循這個例子:https://github.com/reactor/reactor-samples/blob/master/src/main/java/org/projectreactor/samples/SpringSamples.java並使它與'EventBus'一起作爲POC工作,但是我的最終目標是使它與'Streams'一起工作。再次感謝您的幫助。 – jbarrueta