gpt4 book ai didi

java - 如何在 spring-batch 中创建一个 stream.parallel ItemReader?

转载 作者:行者123 更新时间:2023-11-30 08:13:37 26 4
gpt4 key购买 nike

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

list.stream().parallel().forEach(file -> readLines(file));

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

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

最佳答案

就读者本身而言,我不能 100% 确定用例是否有意义。 stream api 的思想是从源流式传输到终端操作。 Spring Batch ItemReader 的契约是一次提供一个项目,这显然不理想。我认为最接近的方法是使用流 api 将项目加载到内存中,但没有办法阻止它在项目甚至 block 之间读取。

我一直在研究创建一个使用流概念(Java 8 流或通过 Reactor 或 RxJava 的 react 流)的 Step 实现的想法,但直到最早发布 3.1(如果您有兴趣,我愿意与您合作)。这将使用某种流提供程序作为“读取器”,中间函数充当“处理器”角色,终端函数充当“写入器”。

关于java - 如何在 spring-batch 中创建一个 stream.parallel ItemReader?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29897779/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com