我正在尝试将Reactor 2x集成到现有的Spring 4
应用程序中,以便在执行REST
请求期间提高性能,resources
可以相互独立地获取 //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);
,map-reduce,我们将作业并行化为多个线程,然后将它们连接到缓冲区。
到目前为止,我们已将此示例在非弹簧环境中运行:
resourceToMapFunction
在上面的示例中,我们使用buffer()
应用转换,然后使用Promise
方法加入转换,创建result
以等待结果并返回{{ 1}}。
我的第一个问题,这是Reactor被假设使用的方式吗?我知道转换是正确应用的,但也许,我是Reactor
中的新手,没有采用正确的方法。
我的第二个问题,并不是什么大问题,但Reactor
项目中是否有任何内容以resources
输入中提供的相同顺序返回?由于这是在多个线程中执行的,我很确定答案不是,就像我说的那样,我的担忧就越少,但无论如何都想问。
最后一个问题,当我将此代码引入我的Spring
项目时,转换失败,因为应用底层转换的Bean
依赖项不在执行线程中,这是我可以轻松完成的事情Spring Reactor版本?如果是,是否有任何链接或文档显示如何操作?
非常感谢!
JoséLuis