领先一步
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
类型的配置对用户来说是透明的。为了根据项目类型配置RecordFieldExtractor
或BeanWrapperFieldExtractor
,相同的特性也已在FlatFileItemWriterBuilder
中实现。
有些错误无法在不引入重大更改的情况下修复。我们抓住这次主要版本发布的机会来修复此类错误。在这个里程碑中,修复了以下主要错误:
spring-tx
的情况下读取 XML 数据 #4132StepBuilder
时丢失事务属性 #3686StepExecutionListener
后ItemReadListener
未正确注册 #773final class com.sun.proxy.$Proxy202
#793StepBuilderFactory
只支持监听器注解,不支持监听器接口 #1098这不是一个详尽的列表。有关在此里程碑中修复的错误的完整列表,请参阅 发行说明。
主要依赖项已升级到以下版本:
我要感谢所有参与此版本的贡献者!在我们继续 Spring Batch 5 的工作时,我们期待您在 Github、Twitter 和 StackOverflow 上提供反馈。