使用Reactor 2.0在Spring 4上执行多线程执行
发布时间:2020-12-15 20:44:34 所属栏目:百科 来源:网络整理
导读:我正在尝试将 Reactor 2x集成到现有的Spring 4应用程序中以提高执行REST请求期间的性能,其中资源可以彼此独立地获取,类似map-reduce我们将作业并行化为多个线程然后加入它们进入缓冲区. 到目前为止,我们已将此示例在非弹簧环境中工作: //Ordered resources
我正在尝试将
Reactor 2x集成到现有的Spring 4应用程序中以提高执行REST请求期间的性能,其中资源可以彼此独立地获取,类似map-reduce我们将作业并行化为多个线程然后加入它们进入缓冲区.
到目前为止,我们已将此示例在非弹簧环境中工作: //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以等待结果并返回结果. 我的第一个问题是,这是Reactor被假设使用的方式吗?我知道转换是正确应用但也许,我是Reactor的新手,没有正确使用某些东西. 我的第二个问题,并不是什么大问题,但Reactor项目中是否有任何东西以资源输入中提供的相同顺序返回?由于这是在多个线程中执行的,我很确定答案不是,就像我说的那样是我的担忧,但是无论如何都想问. 最后一个问题,当我将此代码引入我的Spring项目时,转换失败,因为应用底层转换的Bean依赖项不在执行线程中,这是我可以使用Spring Reactor版本轻松完成的事情吗?如果是,是否有任何链接或文档显示如何操作? 非常感谢! 何塞路易斯
你尝试过
reduce而不是缓冲吗?
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |