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 物料清单 (Bill of Materials)

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

原生支持改进

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

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

perf-native

此处显示的值是使用以下软件和硬件设置对示例进行 10 次执行的平均值:

  • JVM:OpenJDK 版本 "17" 2021-09-14
  • GraalVM:OpenJDK Runtime Environment 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 物料清单 (BOM)

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

反馈

我要感谢所有为此次里程碑版本做出贡献的人!随着我们继续进行 Spring Batch 5 的工作,我们期待您在 GithubTwitterStackOverflow 上的反馈。


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

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

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

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

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

查看所有