Mahmoud Ben Hassine

Mahmoud Ben Hassine

I am a software engineer at VMware, currently working as the project lead of Spring Batch.

I am an OSS advocate and I have contributed to several open source projects. I enjoy spending time with my family and friends, reading, running and playing chess!

Recent Blog posts by Mahmoud Ben Hassine

Spring Batch 5.0 RC1 is out!

Releases | October 20, 2022 | ...

It is finally here! The first release candidate of Spring Batch 5 is now available from our milestone repository. In this release, we worked on the following items:

  • Execution context Meta-data improvement
  • GemFire support removal

This blog post walks through these two changes in details. For the complete list of changes, please check the release notes.

Execution context Meta-data improvement

In addition to what Spring Batch already persists in the execution context with regard to runtime information (like the step type, the restart flag, etc), this release adds an important detail in the…

Spring Batch 5.0.0-M8 is out!

Releases | October 13, 2022 | ...

On behalf of the team and all contributors, I am pleased to announce that Spring Batch 5.0.0-M8 is now available from our milestone repository.

In this milestone, we introduced two main changes:

  • New default execution context serialization format
  • SystemCommandTasklet enhancements

This blog post walks through these two major changes in details. For the complete list of changes, please check the release notes.

New default execution context serialization format

In this milestone release, the DefaultExecutionContextSerializer was updated to serialize/deserialize the context to/from Base64.

Moreover, the default ExecutionContextSerializer configured by @EnableBatchProcessing or DefaultBatchConfiguration was changed from JacksonExecutionContextStringSerializer to DefaultExecutionContextSerializer. The dependency to Jackson was made optional. In order to use the JacksonExecutionContextStringSerializer, jackson-core

Spring Batch 5.0.0-M7 available now!

Releases | October 05, 2022 | ...

On behalf of the team and all contributors, I am pleased to announce that Spring Batch 5.0.0-M7 is now available from our milestone repository.

The main theme of this milestone is the improvement of job parameters handling in Spring Batch. Two main changes were introduced in this release:

  • Add support to use any type as a job parameter
  • Improve job parameters conversion

This blog post walks through these two major changes in details. For the complete list of changes, please check the release notes.

Add support to use any type as a job parameter

Up to version 4, Spring Batch supported only 4 types that can be used as job parameters, which are long, double, String and Date. While this was convenient to simplify job parameters handling on the framework's side, it turns out to be constraining on the user's side. For instance, what if one wants to use a boolean

Spring Batch 5.0.0-M6 and 4.3.7 are out!

Releases | September 22, 2022 | ...

I am pleased to announce that Spring Batch 5.0.0-M6 is now available from our milestone repository and that 4.3.7 is available from Maven Central. Version 4.3.7 is a patch release that can be used as a drop-in replacement for 4.3.6. You can find its release notes here. This blog post is more about the new milestone release, version 5.0.0-M6. In this milestone, we focused on improving the configuration process of Spring Batch to make it more flexible and straightforward. This blog post walks through the major changes in this area of the framework and presents the new features introduced in this…

Spring Batch 5.0.0-M5 is available now!

Releases | August 24, 2022 | ...

I am pleased to announce that Spring Batch 5.0.0-M5 is now available from our milestone repository. The main theme of this milestone is improving testing support in Spring Batch. This post walks through the major changes in this area as well as other changes introduced in this milestone release. For the complete list of changes, see the release notes.

Test utilities configuration updates

Up to version 4.3, the JobLauncherTestUtils used to autowire the job under test with the goal of facilitating the test setup. But what if multiple jobs are defined in the test context? And what if no Job beans are defined at all? So while this autowiring was convenient for most cases, it turned out to cause several issues in the aforementioned situations. In this release, and based on community feedback, we have decided to remove the autowiring of any job in JobLauncherTestUtils

Spring Batch 5.0.0-M4 available now!

Releases | July 20, 2022 | ...

On behalf of the team and everyone who has contributed, I am pleased to announce that Spring Batch 5.0.0-M4 is now available from our milestone repository.

This fourth milestone introduces several improvements for Java Records support. It also comes with a number of enhancements, bug fixes, dependency upgrades, and documentation updates. For more details about all the changes, see the release notes.

Java Records Support Improvement

The support for Java records as items in a chunk-oriented step was initially introduced in v4.3, but that support was limited, due to the fact that v4 has Java 8 as a baseline. In Java 8, records were not even in preview yet. That initial support was based on reflection tricks to create Java records and populate them with data, without having access to the java.lang.Record

Spring Batch 4.3.6 and 5.0.0-M3 available now

Releases | May 18, 2022 | ...

On behalf of the team and everyone who has contributed, I am pleased to announce that Spring Batch 4.3.6 has been released to Maven Central and that Spring Batch 5.0.0-M3 is now available from our milestone repository.

Spring Batch 4.3.6 is a patch release that comes with a number of bug fixes, enhancements, and dependency updates. For more details about the changes, see the change log.

This blog post is more about 5.0.0-M3, which comes with three major features:

  • Native support improvements
  • UTF-8 by default
  • New Maven Bill of Materials

Moreover, this milestone release comes with a number of enhancements, bug fixes, and dependency updates. See the change log

Spring Batch 5.0 M2 available now

Releases | March 23, 2022 | ...

On behalf of the team and everyone who has contributed, I am pleased to announce that Spring Batch 5.0.0-M2 is now available from our milestone repository.

This second milestone comes with two major features:

  • Introduction of the new Observation API from Micrometer 2.0 which gives you both metrics and tracing for your batch jobs!
  • Addition of SAP HANA as a supported database for the job repository

Moreover, this release comes with a number of enhancements and dependencies updates. For more details about all the changes, please check the change log.

I would like to thank all contributors who…

Spring Batch 4.3.5 available now

Releases | February 23, 2022 | ...

On behalf of the team and everyone who has contributed, I am pleased to announce that Spring Batch 4.3.5 has been released to Maven Central repository. This patch release comes with a number of bug fixes, enhancements and dependency updates. You can find the complete change logs here: 4.3.5.

I would like to thank all contributors who had a role in this release!

Spring Batch Home | Source on Github | Reference Documentation

Spring Batch 5.0 M1 released

Releases | January 19, 2022 | ...

On behalf of the team and everyone who contributed, I am pleased to announce that the first milestone release of Spring Batch 5.0 is available now from https://repo.spring.io/milestone. This first milestone includes a number of major changes such as requiring Java 17+, migrating to Jakarta EE 9 APIs as well as upgrading our dependencies across the portfolio to major versions such as Spring Framework 6.0. For a complete list of changes, please check the change log.

We also took the opportunity of this major version to remove deprecated APIs and fix some issues that require non backward compatible changes. The migration guide contains more details about these changes and…

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Tanzu Spring offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all