领先一步
VMware 提供培训和认证,助您加速进步。
了解更多我很高兴地宣布 Spring Batch 5.1.0-M2、5.0.3 和 4.3.9 现已发布!5.0.3 和 4.3.9 版本是补丁版本,包含许多错误修复、改进和依赖项更新。您可以在此处找到每个版本的发行说明:5.0.3 和 4.3.9。
这篇博文主要关注 Spring Batch 5.1 的新里程碑版本,它引入了以下主要功能
MongoItemReaderMongoItemWriter 中的批量插入支持完整的更改列表,请查看发行说明。
此里程碑版本将 Spring 依赖项升级到以下版本:
在 5.0 版本之前,Spring Batch 提供的 MongoItemReader 使用分页,该分页基于 MongoDB 的 skip 操作。虽然这对小/中型数据集效果很好,但对于大型数据集,其性能会开始下降。
此版本引入了 MongoCursorItemReader,这是一个用于 MongoDB 的新的基于游标的项目读取器。此实现使用游标而不是分页来从 MongoDB 读取数据,从而提高了对大型集合进行读取的性能。
为了与其他游标/分页读取器保持一致,当前的 MongoItemReader 已重命名为 MongoPagingItemReader。
在 5.0 版本之前,MongoItemWriter 支持两种操作:upsert 和 delete。虽然 upsert 操作对于插入和更新都效果很好,但对于已知是目标集合中新项目的操作,其性能并不理想。
与 JpaItemWriter 中的 persist 和 merge 操作类似,此版本在 MongoItemWriter 中添加了一个名为 insert 的新操作,该操作专为批量插入而设计。与 upsert 相比,此新选项对于新项目性能更好,因为它不需要额外的查找来检查项目是否已存在于目标集合中。
首先,我想感谢所有为这些发布做出贡献的人!您可以使用 Spring Boot 3.2.0-M2 来尝试 Spring Batch 5.1.0-M2。我们计划在 2023 年 11 月晚些时候发布 Spring Batch 5.1 GA。
我们期待您在 Github Issues、Github Discussions、Twitter 和 StackOverflow 上提供反馈。
我想提醒我们的用户,Spring Batch 4.3.x 将于 2023 年 11 月 18 日结束 OSS 支持。请尽快考虑将您的应用程序升级到 Spring Batch 5。您可以在 此处找到迁移到 v5 的迁移指南。
如果您在将现有应用程序迁移到 Spring Batch 5 时需要帮助,请随时在 Github 上联系 Spring Batch 团队!
本周早些时候,我们在 Spring Academy 上推出了一门新的 Spring Batch 课程!在本课程中,您将学习如何使用 Spring Batch 和 Spring Boot 构建健壮且容错的批量应用程序!在 Spring Academy 上查看:使用 Spring Batch 构建批量应用程序。