配置步骤
尽管 a 所需的依赖项列表相对较短,但它是一个
极其复杂的类,可能包含许多协作者。Step
-
Java
-
XML
使用 Java 配置时,您可以使用 Spring Batch 构建器,因为 以下示例显示:
Java 配置
/**
* Note the JobRepository is typically autowired in and not needed to be explicitly
* configured
*/
@Bean
public Job sampleJob(JobRepository jobRepository, Step sampleStep) {
return new JobBuilder("sampleJob", jobRepository)
.start(sampleStep)
.build();
}
/**
* Note the TransactionManager is typically autowired in and not needed to be explicitly
* configured
*/
@Bean
public Step sampleStep(JobRepository jobRepository, (2)
PlatformTransactionManager transactionManager) { (1)
return new StepBuilder("sampleStep", jobRepository)
.<String, String>chunk(10, transactionManager) (3)
.reader(itemReader())
.writer(itemWriter())
.build();
}
1 | transactionManager :Spring 的开始和提交
处理期间的事务。PlatformTransactionManager |
2 | repository :定期存储
和 在处理过程中(就在提交之前)。JobRepository StepExecution ExecutionContext |
3 | chunk :依赖项的 Java 特定名称,指示这是一个
基于项目的步骤,交易前要处理的项目数为
承诺。 |
请注意,默认为 (通过 提供)
默认为 (从 application context 提供)。
此外,该 是可选的,因为该项目可以是
直接从 reader 传递给 writer。repository jobRepository @EnableBatchProcessing transactionManager transactionManager ItemProcessor |
为了简化配置,您可以使用 Spring Batch XML 命名空间,因为 以下示例显示:
XML 配置
<job id="sampleJob" job-repository="jobRepository"> (2)
<step id="step1">
<tasklet transaction-manager="transactionManager"> (1)
<chunk reader="itemReader" writer="itemWriter" commit-interval="10"/> (3)
</tasklet>
</step>
</job>
1 | transaction-manager :Spring 的开始和提交
处理期间的事务。PlatformTransactionManager |
2 | job-repository :定期存储
和 在处理过程中(就在提交之前)。为
内联(在 a 中定义的一个),它是元素上的一个属性。对于 standalone ,它定义为 的属性 。JobRepository StepExecution ExecutionContext <step/> <job/> <job/> <step/> <tasklet/> |
3 | commit-interval :要处理的项目数的 XML 特定名称
在提交事务之前。 |
请注意,默认为 和 。此外,该
可选,因为该项可以直接从 Reader 传递给 Writer。job-repository jobRepository transaction-manager transactionManager ItemProcessor |
前面的配置包括创建面向项的 步:
-
reader
:提供要处理的项目。ItemReader
-
writer
:处理 提供的项目的 。ItemWriter
ItemReader