Spring Batch 5.0.0-M4 现已可用!

版本 | Mahmoud Ben Hassine | 2022年7月20日 | ...

我代表团队和所有做出贡献的人员,高兴地宣布 Spring Batch 5.0.0-M4 现已从我们的 里程碑存储库 提供。

这个第四个里程碑引入了对 Java Records 支持的几项改进。它还包含许多增强功能、错误修复、依赖项升级和文档更新。有关所有更改的更多详细信息,请参阅 发行说明

Java Records 支持改进

对在面向块的步骤中将 Java records 作为项目的支持最初是在 v4.3 中引入的,但由于 v4 以 Java 8 为基线,因此该支持受到限制。在 Java 8 中,records 甚至还没有预览。该初始支持基于反射技巧来创建 Java records 并使用数据填充它们,而无需访问在 Java 16 中最终确定的java.lang.Record API。

现在 v5 以 Java 17 为基线,我们通过利用框架不同部分中的java.lang.Record API 改进了 Spring Batch 中的 records 支持。例如,FlatFileItemReaderBuilder 现在能够检测项目类型是 record 还是常规类,并相应地配置相应的FieldSetMapper 实现(records 使用RecordFieldSetMapper,常规类使用BeanWrapperFieldSetMapper)。这里的目标是使所需FieldSetMapper 类型的配置对用户来说是透明的。为了根据项目类型配置RecordFieldExtractorBeanWrapperFieldExtractor,相同的特性也已在FlatFileItemWriterBuilder 中实现。

错误修复

有些错误无法在不引入重大更改的情况下修复。我们抓住这次主要版本发布的机会来修复此类错误。在这个里程碑中,修复了以下主要错误:

  • 无法在类路径中没有spring-tx 的情况下读取 XML 数据 #4132
  • 使用链接StepBuilder 时丢失事务属性 #3686
  • 添加StepExecutionListenerItemReadListener 未正确注册 #773
  • 无法子类化final class com.sun.proxy.$Proxy202 #793
  • StepBuilderFactory 只支持监听器注解,不支持监听器接口 #1098

这不是一个详尽的列表。有关在此里程碑中修复的错误的完整列表,请参阅 发行说明

依赖项升级

主要依赖项已升级到以下版本:

  • 升级到 Spring Framework 6.0.0-M5
  • 升级到 Spring Data 2022.0.0-M5
  • 升级到 Spring Integration 6.0.0-M4
  • 升级到 Spring AMQP 3.0.0-M3
  • 升级到 Spring for Apache Kafka 3.0.0-M5
  • 升级到 Micrometer 1.10.0-M3
  • 升级到 Hibernate 6.1.1.Final

反馈

我要感谢所有参与此版本的贡献者!在我们继续 Spring Batch 5 的工作时,我们期待您在 GithubTwitterStackOverflow 上提供反馈。


Spring Batch 首页|Github 源代码|参考文档

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

VMware 提供培训和认证,以加速您的进步。

了解更多

获得支持

Tanzu Spring在一个简单的订阅中提供对OpenJDK™、Spring和Apache Tomcat®的支持和二进制文件。

了解更多

即将举行的活动

查看 Spring 社区中所有即将举行的活动。

查看全部