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 类型的配置对用户来说是透明的。在 FlatFileItemWriterBuilder 中也实现了相同的功能,以便根据项目类型配置 RecordFieldExtractorBeanWrapperFieldExtractor

Bug 修复

有些错误必须引入重大更改才能修复。我们借此主要版本发布的机会来修复此类错误。在此里程碑中,修复了以下主要错误

  • 在 classpath 中没有 spring-tx 时无法读取 XML 数据 #4132
  • 使用链接 StepBuilder 时丢失事务属性 #3686
  • 添加 StepExecutionListener 后,ItemReadListener 未正确注册 #773
  • 无法继承 final class com.sun.proxy.$Proxy202 #793
  • StepBuilderFactory 仅支持 Listener 注解,不支持 Listener 接口 #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 社区中所有即将举行的活动。

查看全部