配置步骤

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

使用 Java 配置时,您可以使用 Spring Batch 构建器,因为 以下示例显示:spring-doc.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 repository:定期存储 和 在处理过程中(就在提交之前)。JobRepositoryStepExecutionExecutionContext
3 chunk:依赖项的 Java 特定名称,指示这是一个 基于项目的步骤,交易前要处理的项目数为 承诺。
请注意,默认为 (通过 提供) 默认为 (从 application context 提供)。 此外,该 是可选的,因为该项目可以是 直接从 reader 传递给 writer。repositoryjobRepository@EnableBatchProcessingtransactionManagertransactionManagerItemProcessor

为了简化配置,您可以使用 Spring Batch XML 命名空间,因为 以下示例显示:spring-doc.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 transaction-manager:Spring 的开始和提交 处理期间的事务。PlatformTransactionManager
2 job-repository:定期存储 和 在处理过程中(就在提交之前)。为 内联(在 a 中定义的一个),它是元素上的一个属性。对于 standalone ,它定义为 的属性 。JobRepositoryStepExecutionExecutionContext<step/><job/><job/><step/><tasklet/>
3 commit-interval:要处理的项目数的 XML 特定名称 在提交事务之前。
请注意,默认为 和 。此外,该 可选,因为该项可以直接从 Reader 传递给 Writer。job-repositoryjobRepositorytransaction-managertransactionManagerItemProcessor

前面的配置包括创建面向项的 步:spring-doc.cn

  • reader:提供要处理的项目。ItemReaderspring-doc.cn

  • writer:处理 提供的项目的 。ItemWriterItemReaderspring-doc.cn