Spring批处理中Step、Tasklet和Chunk之间的差异

Spring批处理中Step、Tasklet和Chunk之间的差异,spring,spring-batch,Spring,Spring Batch,springbatch中的Step、Tasklet和Chunk之间有什么区别 另外,如何通过Spring批处理并行执行步骤 这其实是个好问题。下面是一个配置示例: <job id="sampleJob" job-repository="jobRepository"> <step id="step1" next="step2"> <tasklet transaction-manager="transactionManager">

springbatch中的Step、Tasklet和Chunk之间有什么区别


另外,如何通过Spring批处理并行执行步骤

这其实是个好问题。下面是一个配置示例:

<job id="sampleJob" job-repository="jobRepository">
    <step id="step1" next="step2">
        <tasklet transaction-manager="transactionManager">
            <chunk reader="itemReader" writer="itemWriter" commit-interval="10"/>
        </tasklet>
    </step>
    <step id="step2">
         <tasklet ref="myTasklet"/>
    </step>
</job>

你有一份工作,这份工作是由步骤组成的。大多数情况下,这些步骤是连续的。您可以定义您的工作必须按步骤完成的顺序:先执行步骤1,然后执行步骤2,然后执行步骤3,如果步骤3失败,您可以执行步骤4,或者直接转到步骤5,以此类推

步骤中所做的事情由一个tasklet表示,它们完成任务

在SpringBatch中,您将主要进行面向块的处理:使用读取器、处理器和编写器。从官方文件:

面向块的处理是指一次读取一个数据, 以及在事务中创建要写出的“块” 边界

但是您可以制作自己的tasklet,并在步骤中设置它。例如,执行SQL查询的tasklet。(此处示例:)

因此,这些步骤是在作业中排序的,每个步骤都包含一个tasklet,它执行一项任务。其中一个tasklet(可能是最常用的一个)是面向块的处理tasklet

如果你好奇的话,这里是答案。如您所见,它实现了
Tasklet
接口

有关更多信息:

是的,spring batch非常适合并行处理,使用流程: