The Spring Blog

News and Events

Spring for Apache Kafka 2.3 Milestone 2

We are pleased to announce the availability of the second milestone of the Spring for Apache Kafka 2.3 release - 2.3.0.M2.


  • SeekToCurrentErrorHandler can be configured to not retry certain exceptions.

  • The new RecoveringDeserializationExceptionHandler can recover from failed deserialization operations in Kafka Streams applications, for example to send the failed message to a dead-letter topic.

  • The new HeaderEnricher transformer can be added to a Kafka Streams topology to add headers.

  • The new MessagingTransformer can be used to invoke a Spring Integration flow within a Kafka Streams topology.

  • The new AggregatingReplyingKafkaTemplate can send a record and wait for responses from multiple consumers.

For more information see the What’s New chapter in the documentation and the change logs.

In addition, Spring Integration for Apache Kafka (spring-integration-kafka) 3.2.0.M2 is available; it is based on Spring for Apache Kafka 2.3 and Spring Integration 5.2.

  • The KafkaMessageSource consumer can now be paused/resumed.

  • The KafkaMessageSource consumer can now be configured to retrieve multiple records on each poll.

  • XML configuration is now available for all components.

See the Spring Integration Chapter for more information.


Spring AMQP (Spring for RabbitMQ) 2.2 Milestone 2

We are pleased to announce the availability of the second milestone of the Spring AMQP 2.2 release - 2.2.0.M2.


  • Spring Data "Projection Interfaces" are now supported by the Jackson message converter.

  • @RabbitListener methods can now receive batched messages as a List<?> instead of one-at-a-time.

  • You can now override the default acknowledge mode and executor directly on the @RabbitListener annotation.

For more information, see the What’s New chapter and the change logs.


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!


Spring Integration AWS 2.2 GA and Spring Cloud Stream Kinesis Binder 1.2 GA Available

Today it’s my pleasure to announce General Availability of Spring Integration for Amazon Web Services extension version 2.2.0 and Spring Cloud Stream Binder for AWS Kinesis version 1.2.0.

These releases can be downloaded from Maven Central, JCenter, and our release repository:

compile "org.springframework.integration:spring-integration-aws:2.2.0.RELEASE"

If you don’t use Kinesis Binder. Or via Binder dependency:

compile ""

The main theme of both these releases is about new functionality to support Kinesis Client and Kinesis Producer libraries. For this purpose the spring-integration-aws is shipped with KclMessageDrivenChannelAdapter and KplMessageHandler implementations, respectively. At the moment an implementation is based on the KCL v1.x, since not all AWS dependencies we use in the spring-integration-aws provide the AWS SKD v2 implementation. Based on the Kinesis Client Library investigation, an additional CheckpointMode.periodic has been introduced to both KclMessageDrivenChannelAdapter and KinesisMessageDrivenChannelAdapter.


Spring Framework 5.2.0.M2, 5.1.7, 5.0.14 and 4.3.24 available now

On behalf of the team and everyone who has contributed, I am pleased to announce that Spring Framework 5.2.0.M2, 5.1.7, 5.0.14 and 4.3.24 are available from as well as Maven Central now.

First things first, the second milestone of Spring Framework 5.2 includes over 50 fixes and improvements with improved RSocket integration and initial support for reactive transactions (more on that in a follow-up blog post soon). Spring Framework 5.1.7 includes 43 fixes and improvements and is a recommended upgrade for all 5.x users.


A Bootiful Podcast: Kotlin team engineer Roman Elisarov

Hi Spring fans! In today’s installment Josh Long (@starbuxman) sits down with Jetbrain’s Roman Elizarov (@relizarov). Roman works on the Kotlin team and, among other things, focuses on asynchronous programming with things like coroutines. This interview was a very detailed dive into the opportunities for asynchronous programming for Spring developers using Kotlin, especially in light of the new coroutine support coming in Spring Framework 5.2.

Twitter: Roman Elizarov (@relizarov)
A great blog by Sebastien Deleuze on our new support


Spring Boot for Apache Geode & Pivotal GemFire 1.1.0.M1 Released!

I am pleased to announce the release of Spring Boot for Apache Geode & Pivotal GemFire/PCC (SBDG) 1.1.0.M1.

Bits (org.springframework.geode:spring-geode-starter:1.1.0.M1) are available in the Spring libs-milestone repository.

What’s New

The SBDG 1.1 Milestone 1 (M1) release includes:

  • Rebases SBDG on Spring Framework 5.1, Spring Boot 2.1, Spring Data Lovelace and Spring Session 2.1.

  • Rebases SBDG on Apache Geode 1.6.0 and Pivotal GemFire 9.5.3.

For a complete list of changes, see the changelog.

What’s Next

SBDG 1.1 M2 will include dedicated support for In-line Caching, the second caching pattern in our 3 separate caching patters [Look-Aside, Inline, Near].

As a friendly reminder, Spring’s Cache Abstraction already provides excellent support for the Look-Aside Caching pattern, and SBDG (by extension of SDG) provides first-class support for using either Apache Geode or Pivotal GemFire/PCC as a caching provider in Spring’s Cache Abstraction.

This was also covered nicely in the new Sample on Look-Aside Caching, containing both a Guide and Example Code.


This Week in Spring - May 7th, 2019

Hi Spring fans! Welcome to another installment of This Week in Spring! This week I’ve been in beautiful Sao Paolo, Brazil for QCon Sao Paolo then it’s off to Devoxx UK in London. As usual, lots of good stuff to get to so let’s get to it.


Spring Boot for Apache Geode & Pivotal GemFire 1.0.0.RELEASE Available!

At long last, it is my distinct pleasure to announce the release of Spring Boot for Apache Geode & Pivotal GemFire (SBDG) 1.0.0.RELEASE!

The list of people to thank is long.

First, to Dr. Mark Pollack for your feedback real early on in the beginning of the project.

To Mr. Josh Long for sitting with me for 2 hours after midnight during S1P-2018 to give me feedback on using Apache Geode with Spring Boot.

To Mr. Phil Webb, and the entire Spring Boot ream, for providing guidance.

To the few community members who contributed PRs.