对于最新稳定版本,请使用Spring Batch Documentation 6.0.0spring-doc.cadn.net.cn

配置步骤

尽管 a 所需的依赖列表相对较短,它是一个 极其复杂的类,可能包含许多协作者。spring-doc.cadn.net.cn

使用 Java 配置时,你可以使用 Spring Batch 构建器,因为 以下示例展示了:spring-doc.cadn.net.cn

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 存储 库:Java 特有名称JobRepository定期存储 这步执行执行上下文在处理过程中(就在承诺之前)。
3 :依赖的Java特有名称,表明这是一个 基于项目的步骤以及交易前需处理的物品数量为 承诺。
注意存储 库默认为jobRepository(提供如下@EnableBatchProcessing) 和transactionManager默认为transactionManager(提供自应用上下文)。 另外,还有物品处理器是可选的,因为该项可以是 直接从读者传递给作者。

为了简化配置,你可以使用 Spring Batch XML 命名空间,具体为 以下示例展示了:spring-doc.cadn.net.cn

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 事务管理器:Spring的PlatformTransactionManager开始并承诺 处理过程中的交易。
2 作业仓库:XML专用名称JobRepository定期存储 这步执行执行上下文在处理过程中(就在承诺之前)。为 一个内联<步/>(定义在<工作/>),它是 上的一个属性<工作/>元素。作为独立作品<步/>,它被定义为<任务/>.
3 提交间隔: XML 专用的处理项目数量名称 在交易提交之前。
注意作业仓库默认为jobRepository事务管理器默认为transactionManager.另外,还有物品处理器是 可选,因为该项可以直接从读者传递给写者。

上述配置包含创建面向项目的唯一依赖关系 步:spring-doc.cadn.net.cn