Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在spring批处理中创建stream.parallel ItemReader?_Java_Spring_Java 8_Spring Batch_Java Stream - Fatal编程技术网

Java 如何在spring批处理中创建stream.parallel ItemReader?

Java 如何在spring批处理中创建stream.parallel ItemReader?,java,spring,java-8,spring-batch,java-stream,Java,Spring,Java 8,Spring Batch,Java Stream,如何在springbatchItemReader中使用新的java 8 streams.parallel api list.stream().parallel().forEach(file -> readLines(file)); 通常,ItemReader从文件中读取所有行,直到定义的区块大小,然后将区块列表传递给itemwriter。当编写器完成时,将读取下一个块 我希望这个读写过程使用java8 stream.parallel api。这可能吗?在读者自身中,我不能100%确定用例

如何在
springbatch
ItemReader
中使用新的java 8 streams.parallel api

list.stream().parallel().forEach(file -> readLines(file));
通常,ItemReader从文件中读取所有行,直到定义的区块大小,然后将区块列表传递给itemwriter。当编写器完成时,将读取下一个块


我希望这个读写过程使用java8 stream.parallel api。这可能吗?

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


我一直在考虑创建一个
Step
实现的想法,该实现使用流概念(Java 8流或通过Reactor或RxJava的反应流),但最早要到3.1版本才能使用(如果您感兴趣,我愿意与您合作)。这将使用某种类型的流提供程序作为“读卡器”,中间函数充当“处理器”角色,终端函数充当“编写器”。

具有提供程序和作为读卡器和处理器的函数的流概念听起来非常有前景,可能正是我正在寻找的。是否已经有关于当前snapshop如何工作的文档?没有,但我们可以脱机聊天。请随时与我联系(我们可以在Twitter上发送DM电子邮件)进行讨论。我没有Twitter,但在Facebook上给你写信。谢谢