close

Mahmoud Ben Hassine

Mahmoud Ben Hassine

Spring Batch Co-Lead

Lille, France

Mahmoud is a passionate software engineer with 10+ years of experience in enterprise software development. He is an open source advocate and has contributed to several open source projects. When he is not coding, Mahmoud enjoys spending time with his family and friends, running and playing chess!
Blog Posts by Mahmoud Ben Hassine

Spring Batch 4.3 is now GA!

Dear Spring Batch community,

On behalf of the team and all contributors, it is my pleasure to announce that Spring Batch 4.3 is now generally available from Maven Central!

This release comes with a number of new features, enhancements, and dependency updates. You can find the complete list of changes in the release notes, but here are the major highlights:

  • Java records support
  • GraalVM support
  • New synchronized ItemStreamWriter
  • New JpaCursorItemReader Implementation
  • Performance improvements in MongoItemWriter and RepositoryItemWriter
  • And more!
Read more...

Spring Batch 4.3.0-RC1 available now!

I am pleased to announce that Spring Batch 4.3.0-RC1 is now available from our milestone repository.

What’s New?

This release comes with a number of new features that you can find in the release notes, but here are the major highlights:

1. GraalVM Support

A lot of work has already been done in Spring Framework to support running some types of Spring applications on GraalVM. In this release, we made changes in Spring Batch to correctly run Batch applications on GraalVM as well.

The support is still experimental, so we encourage you to give the release a try and share your feedback.

Read more...

Spring Batch 4.3.0-M2 is out!

On behalf of the Spring Batch team, I am pleased to announce that Spring Batch 4.3.0-M2 is now available from our milestone repository.

What’s new?

This release comes with a number of new features and enhancements that you can find in the release notes, but here are the major highlights:

1. Kafka support enhancements

By default, the KafkaItemReader reads a topic from the beginning. When we initially introduced this reader in v4.2, it was not possible to configure it to read records from a custom offset. In this release, we added this feature. As a result of this addition, it is now possible to configure the reader to start from the offset stored in Kafka.

Read more...

Spring Batch 4.3.0-M1 is released now!

On behalf of the Spring Batch team, I am pleased to announce that Spring Batch 4.3.0-M1 is now available from our milestone repository.

What’s new?

This release is packed with new features, performance improvements, and bug fixes, as well as documentation and dependency updates! You can find the complete list of changes in the release notes, but here are the major highlights:

New features

1. New synchronized ItemStreamWriter

Similar to the SynchronizedItemStreamReader, we added a SynchronizedItemStreamWriter. This feature is useful in multi-threaded steps where concurrent threads need to be synchronized to not override each other’s writes.

Read more...

Spring Batch 4.2.4 available now!

I am pleased to announce that Spring Batch 4.2.4 has been released with a number of bug fixes and performance improvements. Please find the complete list of changes in the release notes.

Please note that due to a glitch in the release process, we had to bump the patch version from 4.2.3 to 4.2.4. Please upgrade to version 4.2.4 at your earliest convenience as this is the primary active branch for the moment.

Spring Batch Home | Source on GitHub | Reference Documentation

Read more...

Spring Batch 4.2.2 and 4.1.4 available now!

I am pleased to announce the release of Spring Batch 4.2.2 and 4.1.4 with bug fixes and documentation updates. Please find the complete list of changes in the release notes: 4.2.2 and 4.1.4.

As we announced earlier, version 4.1.4 is the last release of the 4.1 line. Please upgrade to version 4.2.2 at your earliest convenience as this is the primary active branch for the moment and which will be supported until the end of 2020.

The next feature release will be 4.3, with a GA planned for October 2020, aligned with Spring Framework 5.3 and Spring Boot 2.4. This release is expected to be the last feature branch of Spring Batch 4.

Read more...

Spring Batch 4.0.4, 4.1.3 and 4.2.1 available now!

I am pleased to announce the release of Spring Batch 4.0.4, 4.1.3 and 4.2.1 with bug fixes as well as documentation and dependencies updates. Please find the complete list of changes in the release notes: 4.0.4, 4.1.3, 4.2.1.

As we announced earlier this year, version 4.0.4 is the last release of the 4.0 line. The 4.1.x line will get another bug fix release next year and 4.1.4 will be the last release for this line. Please upgrade to v4.2+ at your earliest convenience as this is the primary active branch for the moment.

Read more...

Spring Batch 4.2 in now GA!

On behalf of the Spring Batch team, I am pleased to announce the general availability of Spring Batch 4.2, which includes a number of new features and performance improvements!

New Features

Spring Batch 4.2 includes the following new features:

Batch Metrics with Micrometer

Spring Batch has always provided users with various metrics through the job repository. However, the ability to consume these metrics and react to them in real time has been muted by the use of a database as the metrics store. This release introduces a new feature that lets you monitor your batch jobs by using a true metrics store through Micrometer. By default, Spring Batch collects metrics (such as job duration, step duration, item read and write throughput, and others) and registers them in Micrometer’s global metrics registry under the spring.batch prefix. These metrics can be sent to any monitoring system supported by Micrometer.

Read more...

Spring Batch 4.2.0.RC1 is released!

On behalf of the Spring Batch team, I am pleased to announce the release of Spring Batch 4.2.0.RC1. We have been working on some performance improvements in the core framework, and this post highlights the major changes.

Major Performance Improvements

We have made some performance improvements, including:

Enhanced Step Partitioning

Starting a partitioned step is an area where the framework wasn’t well optimized. In this version, we have dug deep into the partitioning process to figure out the root cause of this performance issue. One of the main steps of the partitioning process is to find the last step execution (to see if the current execution is a restart). We found that looking up the last step execution involved loading all step executions from all job executions for a given job instance in-memory, which is obviously inefficient!

Read more...

Spring Batch 4.2.0.M2 available now!

I am pleased to announce that Spring Batch 4.2.0.M2 is available now from our milestone repository.

What’s new?

This release adds a new item reader and a new item writer for Apache Kafka:

  • KafkaItemReader can read messages from a single partition or multiple partitions of the same topic. This reader stores message offsets in the ExecutionContext to support restart.
  • KafkaItemWriter uses a KafkaTemplate from the Spring for Apache Kafka project to send messages to a given topic.

I would like to thank Mathieu Ouellet for his amazing contribution in adding support for Apache Kafka in Spring Batch!

Read more...