Spring 批次中 Step、Tasklet 和 Chunk 的区别
Difference between Step, Tasklet and Chunk in Spring Batch
spring批处理中的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 步,等等。
Step中完成的工作由tasklet表示,他们完成任务。
在 spring 批处理中,您将主要进行面向块的处理:使用 reader、处理器和编写器。来自官方文档:
Chunk oriented processing refers to reading the data one at a time,
and creating 'chunks' that will be written out, within a transaction
boundary
但是你可以制作你自己的tasklet,并在你的步骤中设置它。例如,执行 SQL 查询的 tasklet。 (这里的例子:Tasklet to delete a table in spring batch)
因此,作业中的步骤是有序的,每个步骤都包含一个执行任务的tasklet。这些 tasklet 之一(可能也是最常用的)是面向块的处理 tasklet。
如果你好奇,这里是 ChunkOrientedTasklet's doc。如您所见,它实现了 Tasklet
接口。
更多信息:
http://docs.spring.io/spring-batch/reference/html/configureStep.html
是的,spring 批处理非常适合并行处理,使用流程:http://docs.spring.io/spring-batch/reference/html/scalability.html
spring批处理中的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 步,等等。
Step中完成的工作由tasklet表示,他们完成任务。
在 spring 批处理中,您将主要进行面向块的处理:使用 reader、处理器和编写器。来自官方文档:
Chunk oriented processing refers to reading the data one at a time, and creating 'chunks' that will be written out, within a transaction boundary
但是你可以制作你自己的tasklet,并在你的步骤中设置它。例如,执行 SQL 查询的 tasklet。 (这里的例子:Tasklet to delete a table in spring batch)
因此,作业中的步骤是有序的,每个步骤都包含一个执行任务的tasklet。这些 tasklet 之一(可能也是最常用的)是面向块的处理 tasklet。
如果你好奇,这里是 ChunkOrientedTasklet's doc。如您所见,它实现了 Tasklet
接口。
更多信息: http://docs.spring.io/spring-batch/reference/html/configureStep.html
是的,spring 批处理非常适合并行处理,使用流程:http://docs.spring.io/spring-batch/reference/html/scalability.html