Get ahead
VMware offers training and certification to turbo-charge your progress.
Learn moreI am pleased to announce that Spring Batch 5.1.0-M2, 5.0.3 and 4.3.9 are available now! Versions 5.0.3 and 4.3.9 are patch releases that come with a number of bug fixes, improvements and dependencies updates. You can find the release notes of each version here: 5.0.3 and 4.3.9.
This blog post is mainly about the new milestone of Spring Batch 5.1, which introduces the following main features:
MongoItemReader
MongoItemWriter
For the complete list of changes, please check the release notes.
This milestone release upgrades Spring dependencies to the following versions:
Up to version 5.0, the MongoItemReader
provided by Spring Batch used pagination, which is based on MongoDB's skip
operation. While this works well for small/medium data sets, it starts to perform poorly with large data sets.
This release introduces the MongoCursorItemReader
, a new cursor-based item reader for MongoDB. This implementation uses cursors instead paging to read data from MongoDB, which improves the performance of reads on large collections.
For consistency with other cursor/paging readers, the current MongoItemReader
has been renamed to MongoPagingItemReader
.
Up to version 5.0, the MongoItemWriter
supported two operations: upsert
and delete
. While the upsert
operation works well for both inserts and updates, it does not perform well for items that are known to be new in the target collection.
Similar to the persist
and merge
operations in the JpaItemWriter
, this release adds a new operation named insert
in the MongoItemWriter
, which is designed for bulk inserts. This new option performs better than upsert
for new items as it does not require an additional lookup to check if items already exist in the target collection.
First, I would like to thank all contributors who had a role in these releases! You can try Spring Batch 5.1.0-M2 with Spring Boot 3.2.0-M2. We are planning to release Spring Batch 5.1 GA later this November 2023.
We look forward to your feedback on Github Issues, Github Discussions, Twitter, and StackOverflow.
I would like to remind our users that Spring Batch 4.3.x will be out of OSS support on November, 18th 2023. Please consider upgrading your applications to Spring Batch 5 at your earliest convenience. You can find the migration guide to v5 here.
Feel free to reach out to the Spring Batch team on Github if you need help on migrating your existing applications to Spring Batch 5!
Earlier this week, we have launched a new Spring Batch course on Spring Academy! In this course, you will learn how to build robust and fault-tolerant batch applications with Spring Batch and Spring Boot! Check it out on Spring Academy: Building a Batch Application with Spring Batch.