Spring Batch 4.3.6 和 5.0.0-M3 现已可用

发布 | Mahmoud Ben Hassine | 2022 年 5 月 18 日 | ...

我代表团队和所有做出贡献的人,很高兴地宣布 Spring Batch 4.3.6 已发布到 Maven Central,并且 Spring Batch 5.0.0-M3 现在可从我们的 里程碑存储库 获取。

Spring Batch 4.3.6 是一个补丁版本,包含许多错误修复、增强功能和依赖项更新。有关更改的更多详细信息,请参阅 更改日志

这篇博文更多的是关于 5.0.0-M3,它包含三个主要功能

  • 原生支持改进
  • 默认使用 UTF-8
  • 新的 Maven 物料清单

此外,此里程碑版本还包含许多增强功能、错误修复和依赖项更新。有关此里程碑内容的更多详细信息,请参阅 更改日志

原生支持改进

我们通过使用 GraalVM native-image 编译器将 Spring Batch 应用程序编译为原生可执行文件以提供支持的工作始于 v4.2,并在 v4.3 中作为实验性功能发布。

在此里程碑版本中,原生支持已得到显着改进,我们希望与您分享我们在该领域开展的一些基准测试。以下基准测试基于 batch-io 示例(来自 Spring Native 项目)。这些基准测试显示了使用常规 JVM 和作为原生可执行文件执行的相同批处理应用程序的启动时间和总执行时间的比较。

perf-native

此处显示的值是使用以下软件和硬件设置执行 10 次样本的平均值。

  • JVM:OpenJDK 版本“17”2021-09-14
  • GraalVM:OpenJDK 运行时环境 GraalVM CE 22.0.0.2
  • MacOS BigSur v11.6.2(CPU:2,4 GHz 8 核 Intel Core i9,内存:32 GB 2667 MHz DDR4)

正如这些基准测试所示,原生 Spring Batch 应用程序的启动速度提高了两倍,运行速度提高了近十倍!这对云原生批处理工作负载来说确实是一个改变游戏规则的功能!

我们计划在即将发布的里程碑版本中继续改进 Spring Batch 的原生支持,并在 v5.0 GA 中将其作为稳定版本发布。如果您想帮助我们完成这项任务,我们鼓励您尝试将您现有的应用程序编译为原生可执行文件,并向 Spring Batch 和 Spring Native 团队报告任何问题或分享任何可能有所帮助的基准测试。

默认使用 UTF-8

多年来,在框架的不同领域报告了几个与字符编码相关的问题,例如基于文件的项目读取器和写入器之间不一致的默认编码、处理执行上下文中的多字节字符时的序列化/反序列化问题,等等。

本着与 JEP 400 相同的精神,并遵循 UTF-8 宣言,我们在框架的所有领域都将默认编码更改为 UTF-8,并在适当的地方使此默认值可配置。

新的 Maven 物料清单

此功能已多次被请求,并最终在此里程碑版本中发布。现在可以使用新添加的 Maven BOM 以一致的版本号导入 Spring Batch 模块。

反馈

我要感谢所有参与此里程碑版本发布的贡献者!随着我们继续在 Spring Batch 5 上开展工作,我们期待您在 GithubTwitterStackOverflow 上提供反馈。


Spring Batch 主页|GitHub 上的源代码|参考文档

获取 Spring 新闻通讯

随时关注 Spring 新闻通讯

订阅

领先一步

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

了解更多

获得支持

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

了解更多

即将举行的活动

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

查看全部