领先一步
VMware 提供培训和认证,以加速您的进步。
了解更多我代表团队和所有做出贡献的人,很高兴地宣布Spring Batch 5.2的首个里程碑版本现已从我们的里程碑仓库提供。这篇博客文章将引导您了解Spring Batch 5.2中的主要更改
RecursiveCollectionLineAggregator
中的可配置行分隔符有关更改的完整列表,请查看发行说明。
在此版本中,Spring 依赖项已升级到以下版本:
在5.1版本之前,JPA游标和分页项读取器不支持查询提示(例如获取大小、超时等)。用户需要提供自定义查询提供程序才能指定自定义提示。
在此版本中,JPA 读取器及其相应的构建器已更新为在定义要使用的 JPA 查询时接受查询提示。
此版本在JDBC游标和分页项读取器的构建器中引入了一种新方法,允许用户在项目类型为数据类(Java记录或Kotlin数据类)时指定DataClassRowMapper
。
名为dataRowMapper(TargetType.class)
的新方法类似于beanRowMapper(TargetType.class)
,旨在使普通类(Java bean)和数据类(Java记录)之间行映射器的配置保持一致。
RecursiveCollectionLineAggregator
中的可配置行分隔符到目前为止,RecursiveCollectionLineAggregator
中的行分隔符属性设置为系统的行分隔符值。虽然可以通过系统属性更改该值,但这种配置样式与批处理工件的其他属性不一致。
此版本在RecursiveCollectionLineAggregator
中引入了一个新的setter,允许用户配置行分隔符的自定义值,而无需使用系统属性。
在5.1版本中,批处理基础结构bean的默认配置已更新为通过在应用程序上下文中定义JobRegistryBeanPostProcessor
bean来自动填充作业注册表。在最近更新Spring Framework更改了BeanPostProcessorChecker
中的日志级别后,在典型的Spring Batch应用程序中记录了几个与JobRegistryBeanPostProcessor
相关的警告。这些警告是由于JobRegistryBeanPostProcessor
bean依赖于JobRegistry
bean,这并不推荐,并且可能会导致bean生命周期问题。
此版本通过将填充JobRegistry
的机制从使用BeanPostProcessor
更改为使用SmartInitializingSingleton
来解决这些问题。现在已弃用JobRegistryBeanPostProcessor
,取而代之的是新添加的JobRegistrySmartInitializingSingleton
。
我要感谢所有参与此版本的贡献者!Spring Batch 5.2.0-M1 与 Spring Boot 3.4.0-M3 一起发布。
我们期待您在Github Issues、Github Discussions、Twitter和StackOverflow上提供反馈。