我正在spring batch
processing
使用large data
。
我的问题是我有Tasklet
executing
两个one after another
。我无法并行运行它,因为第二个tasklet首先具有一个依赖关系Tasklet
。为了节省时间,我希望在前几Tasklet
之前items
之前processed
之后立即开始tasklet
。由于Spring Batch
使用Chunk Oriented
处理方式。可以ItemWriter
一个Tasklet
,将已经处理的项目块传递给另一个Tasklet
ItemReader
或ItemProcessor
或ItemWriter
下次处理?但是当另一个tasklet
正在处理chunk
时,之前的tasklet
应该NOT
等待,它应该iteration
超过next
{{1} }}
答案 0 :(得分:1)
根据您的描述和上述其他信息,我只需使用CompositeItemWriter
来完成此操作。
项目列表将首先由WriterOne编写,然后传递给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" ... />