首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在spring-batch中创建stream.parallel ItemReader?

如何在spring-batch中创建stream.parallel ItemReader?
EN

Stack Overflow用户
提问于 2015-04-27 21:54:57
回答 1查看 1.9K关注 0票数 2

如何在spring-batch ItemReader中使用新的java 8 streams.parallel api

代码语言:javascript
复制
list.stream().parallel().forEach(file -> readLines(file));

通常,ItemReader读取文件中的所有行,直到定义的块大小,然后将块列表传递给项目编写器。当编写器完成时,读取下一个块。

我希望reading+writing的这个进程使用java8 stream.parallel api。这有可能吗?

EN

回答 1

Stack Overflow用户

发布于 2015-04-27 23:14:20

在阅读器本身,我不能100%确定用例是否有意义。流api的思想是从源操作流到终端操作。Spring Batch ItemReader的合同是一次提供一个项目,这显然不是很理想。我认为最接近的方法是使用流api将项加载到内存中,但没有办法阻止它在项之间甚至块之间进行读取。

我一直在考虑创建一个使用流概念的Step实现(要么是Java8Streams,要么是通过Reactor或RxJava的反应式流),但这最早也要到3.1版本才能实现(如果您感兴趣,我很乐意与您合作)。这将使用某种类型的流提供者作为“读取器”,中间函数充当“处理器”的角色,而终端函数充当“写入器”。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29897779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档