Spring Batch 5.1.0-M2、5.0.3 和 4.3.9 现已发布!

发布 | Mahmoud Ben Hassine | 2023年8月24日 | ...

我很高兴地宣布 Spring Batch 5.1.0-M2、5.0.3 和 4.3.9 现已发布!版本 5.0.3 和 4.3.9 是补丁版本,包含多项错误修复、改进和依赖项更新。您可以在这里找到每个版本的发布说明:5.0.34.3.9

这篇博文主要介绍 Spring Batch 5.1 的新里程碑版本,它引入了以下主要特性:

  • 依赖项升级
  • 新的基于游标的 MongoItemReader
  • MongoItemWriter 中的批量插入支持

有关更改的完整列表,请查看发布说明

依赖项升级

此里程碑版本将 Spring 依赖项升级到以下版本:

  • Spring Framework 6.1.0-M4
  • Spring Integration 6.2.0-M2
  • Spring Data 3.2.0-M2
  • Spring LDAP 3.2.0-M2
  • Micrometer 1.12.0-M2

新的基于游标的 MongoItemReader

直到版本 5.0,Spring Batch 提供的 MongoItemReader 使用分页方式,该方式基于 MongoDB 的 skip 操作。虽然这对于小型/中型数据集效果良好,但对于大型数据集来说性能开始变差。

此版本引入了 MongoCursorItemReader,这是一款用于 MongoDB 的新型基于游标的项目读取器。此实现使用游标而不是分页来从 MongoDB 读取数据,从而提高了读取大型集合时的性能。

为了与其他基于游标/分页的读取器保持一致,当前的 MongoItemReader 已更名为 MongoPagingItemReader

MongoItemWriter 中的批量插入支持

直到版本 5.0,MongoItemWriter 支持两种操作:upsertdelete。虽然 upsert 操作对于插入和更新都效果良好,但对于已知在目标集合中为新项目的情况,其性能表现不佳。

类似于 JpaItemWriter 中的 persistmerge 操作,此版本在 MongoItemWriter 中添加了一个名为 insert 的新操作,该操作专为批量插入而设计。对于新项目而言,此新选项比 upsert 表现更好,因为它不需要额外的查找来检查项目是否已存在于目标集合中。

下一步是什么?

分享您的反馈!

首先,我要感谢所有为这些发布做出贡献的贡献者!您可以将 Spring Batch 5.1.0-M2 与 Spring Boot 3.2.0-M2 一起尝试。我们计划于 2023 年 11 月晚些时候发布 Spring Batch 5.1 GA 版本。

我们期待您在 Github IssuesGithub DiscussionsTwitterStackOverflow 上分享您的反馈。

升级到 Spring Batch 5

我想提醒用户,Spring Batch 4.3.x 将于 2023 年 11 月 18 日终止开源支持。请尽早考虑将您的应用程序升级到 Spring Batch 5。您可以在这里找到升级到 v5 的迁移指南。

如果您在将现有应用程序迁移到 Spring Batch 5 时需要帮助,请随时通过 Github 联系 Spring Batch 团队!

查看 Spring Academy 上的新 Spring Batch 课程

本周早些时候,我们在 Spring Academy 上发布了新的 Spring Batch 课程!在本课程中,您将学习如何使用 Spring Batch 和 Spring Boot 构建健壮且容错的批处理应用程序!请在 Spring Academy 上查看:使用 Spring Batch 构建批处理应用程序

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

订阅 Spring 简报

订阅 Spring 简报,保持联系

订阅

领先一步

VMware 提供培训和认证,助您加速发展。

了解更多

获得支持

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

了解更多

即将举办的活动

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

查看全部