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.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...

Spring Batch 4.2.0.M1 available now

I am pleased to announce that the first milestone of Spring Batch 4.2 has been released and is available from our milestone repository.

The major feature of this release is the addition of batch metrics with Micrometer.

Batch Metrics with Micrometer

This release introduces a new feature that lets you monitor your batch jobs by using 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.1.1, 4.0.2, and 3.0.10 available now

We are pleased to announce that Spring Batch 4.1.1, 4.0.2, and 3.0.10 are available from repo.spring.io and Maven Central.

These releases contain security and bug fixes as well as dependencies updates. We recommend users upgrade to one of these versions. Please find the change log for each version in the following links: 4.1.1 | 4.0.2 | 3.0.10

As we announced earlier, please note that v3.0.10 is the last planned release for the 3.x line, so we highly recommend users to upgrade to the latest possible version.

Read more...

Spring Batch 4.1 goes GA!

I am pleased to announce that Spring Batch 4.1.0.RELEASE is now available.

What’s New in Spring Batch 4.1 GA

This release adds the following features:

  • A new @SpringBatchTest annotation to simplify testing batch components
  • A new @EnableBatchIntegration annotation to simplify remote chunking and partitioning configuration
  • Support for reading and writing data in JSON format
  • Support for validating items with the Bean Validation API
  • Support for JSR-305 annotations
  • Enhancements to the FlatFileItemWriterBuilder API
Read more...