抢占先机
VMware 提供培训和认证,以加速您的发展。
了解更多谨代表团队和所有贡献者,我很高兴地宣布 Spring Batch 5.0.0-M4 现在可以从我们的 里程碑仓库获得。
第四个里程碑引入了对 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
中也实现了相同的功能,以便根据项目类型配置 RecordFieldExtractor
或 BeanWrapperFieldExtractor
。
有些错误必须引入重大更改才能修复。我们借此主要版本发布的机会来修复此类错误。在此里程碑中,修复了以下主要错误
spring-tx
时无法读取 XML 数据 #4132StepBuilder
时丢失事务属性 #3686StepExecutionListener
后,ItemReadListener
未正确注册 #773final class com.sun.proxy.$Proxy202
#793StepBuilderFactory
仅支持 Listener 注解,不支持 Listener 接口 #1098这并非详尽的列表。有关在此里程碑中修复的完整错误列表,请参阅发行说明。
主要依赖项已升级到以下版本
我要感谢所有在此版本中发挥作用的贡献者!当我们继续 Spring Batch 5 的工作时,我们期待您在 Github、Twitter 和 StackOverflow 上提供的反馈。