gpt4 book ai didi

java - Spring批处理并行处理两个任务,但第二个任务依赖于第一个任务

转载 作者:行者123 更新时间:2023-12-01 09:38:52 24 4
gpt4 key购买 nike

我正在使用spring batch处理大数据

我的问题是我有两个不同的Tasklet,它们正在执行一个接一个。我无法并行运行它,因为第二个 tasklet 与第一个 Tasklet 有一些依赖关系。为了节省时间,我想在前几个 items 被前一个 tasklet 处理 后立即启动下一个 Tasklet/。由于 Spring Batch 使用 Chunk Oriented 处理风格。一个 TaskletItemWriter 可以将已处理的项目 block 传递给另一个 TaskletItemReader ItemProcessorItemWriter 用于下一步处理?但是,当另一个 tasklet 正在处理 block 时,之前的 tasklet 不应该等待,而应该继续 >对下一个 block 进行迭代

最佳答案

根据您的描述和上面的附加信息,我将简单地利用 CompositeItemWriter 来完成此操作。

项目列表将首先由 WriterOne 写入,然后传递给 WriterTwo 并由 WriterTwo 写入。

<bean id="compositeWriter" 
class="org.springframework.batch.item.support.CompositeItemWriter">
<property name="delegates">
<list>
<ref bean="writerOne" />
<ref bean="writerTwo" />
</list>
</property>
</bean>

<bean id="writerOne" ... />
<bean id="writerTwo" ... />

关于java - Spring批处理并行处理两个任务,但第二个任务依赖于第一个任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38613888/

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