Soby Chacko

Soby Chacko

Spring Cloud Stream/Data Flow | Philadelphia, PA

Blog posts by Soby Chacko

Spring for Apache Kafka 3.0.16, 3.1.4 and 3.2.0-RC1 Available Now

Releases | April 16, 2024 | ...

On behalf of the entire team and everyone in the community who contributed, we are pleased to announce the general availability of Spring for Apache Kafka 3.0.16 and 3.1.4.

Both of these GA releases include a few improvements and bug fixes. For more details, see the following change logs.

https://github.com/spring-projects/spring-kafka/releases/tag/v3.0.16

https://github.com/spring-projects/spring-kafka/releases/tag/v3.1.4

Spring Boot 3.1.11 and 3.2.5 releases will include Spring for Apache Kafka 3.0.16 and 3.1.14, respectively.

In addition, we are pleased to announce the first release candidate for Spring for Apache Kafka 3.2.0 (3.2.0-RC1). This release candidate includes new additions, feature enhancements, bug fixes, and…

Spring for Apache Kafka 3.0.15, 3.1.3 and 3.2.0-M2 Available Now

Releases | March 19, 2024 | ...

On behalf of the entire team and everyone in the community who contributed, we are pleased to announce the general availability of Spring for Apache Kafka 3.0.15 and 3.1.3.

Spring for Apache Kafka 3.0.15 includes a few improvements and bug fixes. In addition, this version now supports the ability to call the enforceRebalance on the Kafka consumer. This release will be included as part of the upcoming Spring Boot 3.1.10 release.

Spring for Apache Kafka 3.1.3 ships with some new features, enhancements, bug fixes and documentation improvements. This release will be part of the upcoming Spring Boot 3.2.4 release

Spring for Apache Kafka 3.0.14, 3.1.2 and 3.2.0-M1 Available Now

Releases | February 20, 2024 | ...

On behalf of the entire team and everyone in the community who contributed, we are pleased to announce that Spring for Apache Kafka 3.0.14 and 3.1.2 are generally available now.

Spring for Apache Kafka 3.0.14 includes a few improvments and bug fixes. This release will be included as part of the upcoming Spring Boot 3.1.9 release.

Spring for Apache Kafka 3.1.2 ships with some new features, enhancements, bug fixes and documentation improvements. This release will be part of the upcoming Spring Boot 3.2.3 release.

We are also happy to announce the first milestone release of Spring for Apache Kafka 3.2.0 (3.2.0-M1). This milestone release includes a number of new additions as features, enhancements, bug fixes and documentation changes. This milestone release will be included with the upcoming Spring Boot 3.3.0-M2 release

Spring for Apache Kafka 3.1.1 available now

Releases | December 19, 2023 | ...

On behalf of the team and everyone who contributed, I am pleased to announce that Spring for Apache Kafka 3.1.1 is generally available now from Maven central.

This release will be included in the upcoming Spring Boot 3.2.1 GA release.

This patch release contains a few minor features, enhancements and bug fixes. Please see the release notes for more details.

We want to thank all the community members who contributed to this release.

This is the first GA release that we are doing since Gary Russell made the decision to retire. He is the founder of this project. Gary's penchant for software…

A Use Case for Transactions: Outbox Pattern Strategies in Spring Cloud Stream Kafka Binder

Engineering | October 24, 2023 | ...

Other parts in this blog series

Part 1: Introduction to Transactions in Spring Cloud Stream Kafka Applications

Part 2: Producer Initiated Transactions in Spring Cloud Stream Kafka Applications

Part 3: Synchronizing with External Transaction Managers in Spring Cloud Stream Kafka Applications

Part 4: Transactional Rollback Strategies with Spring Cloud Stream and Apache Kafka

Part 5: Apache Kafka’s Exactly-Once Semantics in Spring Cloud Stream Kafka Applications

In this last part of this blog series, we dive into a relatively new design pattern first proposed by Chris Richardson but seeing it from the perspective of Spring Cloud Stream. We will see what the outbox pattern is, how it works, and a few strategies to adapt when using Spring Cloud Stream and Apache Kafka. See the descriptions here

Apache Kafka’s Exactly-Once Semantics in Spring Cloud Stream Kafka Applications

Engineering | October 16, 2023 | ...

Other parts in this blog series

Part 1: Introduction to Transactions in Spring Cloud Stream Kafka Applications

Part 2: Producer Initiated Transactions in Spring Cloud Stream Kafka Applications

Part 3: Synchronizing with External Transaction Managers in Spring Cloud Stream Kafka Applications

Part 4: Transactional Rollback Strategies with Spring Cloud Stream and Apache Kafka

With the fundamental analysis of how transactions work with Spring Cloud Stream Kafka applications out of the way from our previous discussions in this series, we have finally arrived at the elephant in the room: the exactly-once semantics, a much-discussed and required feature in streaming applications. In this part of this blog series, we look at how you can get exactly-once semantics in Spring Cloud Stream applications via Apache Kafka transactions. The knowledge of how transactions work from the previous sections makes it relatively easy to understand how Spring Cloud Stream Kafka applications achieve…

Transactional Rollback Strategies with Spring Cloud Stream and Apache Kafka

Engineering | October 11, 2023 | ...

Other parts in this blog series

Part 1: Introduction to Transactions in Spring Cloud Stream Kafka Applications

Part 2: Producer Initiated Transactions in Spring Cloud Stream Kafka Applications

Part 3: Synchronizing with External Transaction Managers in Spring Cloud Stream Kafka Applications

In the last three sections of this blog series, we analyzed how transactions work in Spring Cloud Stream Kafka applications. We encountered different contexts in which transactions are helpful, including both producer and consumer applications and how an application can correctly use them. Now that those fundamental elements are behind us, let’s move on to another aspect of transactions: rolling back a transaction when an error occurs. When an error occurs and a transactional system cannot commit the transaction, the transaction manager rolls back the transaction and does not persist anything for a downstream consumer to see. It would help if an application could dictate how this rollback mechanism works. Spring Cloud Stream facilitates this rollback…

Synchronizing with External Transaction Managers in Spring Cloud Stream Kafka Applications

Engineering | October 04, 2023 | ...

Other parts in this blog series

Part 1: Introduction to Transactions in Spring Cloud Stream Kafka Applications

Part 2: Producer Initiated Transactions in Spring Cloud Stream Kafka Applications

In the previous part of this blog series, we saw the basics of transaction management, primarily when using producer-initiated Spring Cloud Stream Kafka applications. In that discussion, we also briefly saw how a Spring Cloud Stream Kafka consumer application could consume records produced transactionally with proper isolation levels. When you synchronize with external transaction managers, such as one…

Producer Initiated Transactions in Spring Cloud Stream Kafka Applications

Engineering | September 28, 2023 | ...

Other parts in this blog series

Part 1: Introduction to Transactions in Spring Cloud Stream Kafka Applications

This article is part 2 of the blog series in which we look at transactions in detail with Spring Cloud Stream and Apache Kafka. We saw a general introduction to transactions in the previous part, touching on the fundamental ideas. In this part of the blog series, we get to the metal by seeing a few implementation details and their practical aspects.

In this article, we largely stay on the producer's side to understand how transactions work with Spring Cloud Stream and Apache Kafka.

Introduction to Transactions in Spring Cloud Stream Kafka Applications

Engineering | September 27, 2023 | ...

We are starting a new blog series that focuses on working with transactions in Spring Cloud Stream Kafka applications. This blog series covers many low-level details of writing transactional applications with Spring Cloud Stream and Apache Kafka. By the end of this blog series, we hope to give you enough information about writing transactional Spring Cloud Stream Kafka applications for various business use cases.

Basic Building Blocks

The foundational support for transactions in Spring Cloud Stream Kafka applications primarily comes from Apache Kafka itself and the Spring for Apache Kafka…

Get ahead

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

Learn more

Get support

Tanzu Spring Runtime 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