跳到主要内容

配置步骤

QWen Plus 中英对照 Configuring a Step

尽管 Step 所需的依赖项列表相对较少,但它是一个极其复杂的类,可能包含许多协作者。

在使用 Java 配置时,您可以使用 Spring Batch 构建器,如下例所示:

/**
* 注意 JobRepository 通常会自动注入,不需要显式配置
*/
@Bean
public Job sampleJob(JobRepository jobRepository, Step sampleStep) {
return new JobBuilder("sampleJob", jobRepository)
.start(sampleStep)
.build();
}

/**
* 注意 TransactionManager 通常会自动注入,不需要显式配置
*/
@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();
}
java
  • transactionManager: Spring 的 PlatformTransactionManager,用于在处理过程中开始和提交事务。

  • repository: Java 特定名称的 JobRepository,在处理期间(提交前)定期存储 StepExecutionExecutionContext

  • chunk: Java 特定名称的依赖项,表示这是一个基于项的步骤以及在事务提交之前要处理的项数。

备注

注意,默认情况下 repositoryjobRepository(通过 @EnableBatchProcessing 提供),transactionManager 默认为 transactionManager(从应用程序上下文中提供)。此外,ItemProcessor 是可选的,因为项可以直接从读取器传递到写入器。

前面的配置包括了创建以项为导向的步骤所需的唯一必需依赖项:

  • reader: 提供要处理的项目的 ItemReader

  • writer: 处理由 ItemReader 提供的项目的 ItemWriter