Spring Batch 5.0.0-M6 和 4.3.7 已发布。
Spring Batch 是一个轻量级且功能全面的批处理框架,使用 Spring 和 Java 编写离线和批处理应用程序,旨在为开发对企业系统日常运行至关重要的批处理应用程序提供支持。
Spring Batch 5.0.0-M6 的更新内容集中在优化 Spring Batch 的配置过程,让它更加灵活和直观。详情查看 release note。
4.3.7 则是常规的补丁更新,可用来替代 4.3.6,详情查看 release note。
Spring Batch 5.0.0-M6 主要变化
- EnableBatchProcessing 引入新注解属性
在此版本中,@EnableBatchProcessing
注解引入了新属性,用于指定应使用哪些组件和参数来配置 Batch 基础设施 bean。例如,现在可以指定 Spring Batch 应在作业仓库中配置的数据源和事务管理器。下面的代码段展示了进行此类配置的新方法:
@Configuration
@EnableBatchProcessing(dataSourceRef = "batchDataSource", transactionManagerRef = "batchTransactionManager")
public class MyJobConfiguration {
@Bean
public Job job(JobRepository jobRepository) {
return new JobBuilder("myJob", jobRepository)
//define job flow as needed
.build();
}
}
- 用于基础设施 Beans 的新配置类
在此版本中,可以使用一个名为DefaultBatchConfiguration
的新配置类,作为配置基础设施 bean @EnableBatchProcessing
的替代方法。此类为基础设施 bean 提供默认配置,可以根据需要对其进行自定义。下面的代码片段展示了此类的典型用法:
@Configuration
class MyJobConfiguration extends DefaultBatchConfiguration {
@Bean
public Job job(JobRepository jobRepository) {
return new JobBuilder("myJob", jobRepository)
//define job flow as needed
.build();
}
}
- JobExplorer 和 JobOperator 中的事务支持
此版本在通过JobExplorerFactoryBean
在创建JobExplorer
时引入了事务支持。开发者现在可以在查询 Batch 元数据时指定使用哪个事务管理器来驱动已准备就绪的事务。此外还可以自定义事务属性。同样的事务支持也通过一个新的工厂Bean (JobOperatorFactoryBean
) 被添加到JobOperator
中。
升级依赖
- Upgrade to Spring Framework 6.0.0-M6
- Upgrade to Spring Data 2022.0.0-M6
- Upgrade to Spring Integration 6.0.0-M5
- Upgrade to Spring AMQP 3.0.0-M4
- Upgrade to Spring for Apache Kafka 3.0.0-M6
- Upgrade to Spring Retry 2.0.0-M1
- Upgrade to Spring LDAP 3.0.0-M4
- Upgrade to Micrometer 1.10.0-M5
发布公告。