Skip to content

4.0 Migration guide

Chris Bono edited this page Sep 28, 2022 · 16 revisions

Introduction

This document describes both what's new in Spring Cloud Stream 4.0 as well as provide guidelines about the thing that have changed and may require changes to be made by the user

Java 17/Boot 3/SF 6 baseline

No more Annotations

In version 2.0 we have introduced functional programming style for implementing message handlers. For several versions we have supported both functional and annotation-based model. Since version 4.0 annotation-based programming model is removed Here is how you should migrate your old StreamListener to. . . . TBD. .

Reactive functions vs Imperative

Not really a migration issue, but we need to explain the fundamental difference between these two types of programming models and the impact it has on the framework-based expectations user has

Binding specific error channel naming scheme

Old scheme created a possibility of naming collision since it was not unique. The <destination>.<group>.errors relies on the fact that destination name is uniques across the application. However that is not the case since it could have the same name across tow different messaging systems. Further more destination naming is not something that is under control of the user, rather messaging system administrator. Point to the doc where functional error handling is explained TBD. . .

Reactive Kafka Binder

TBD

Schema Registry

TBD

Rabbit Streams

Details

Headers through BiFunction

Details

BinderAwareChannelResolver gone

Details

Native Support

Details

Not end-user specific, but should we call out that we are now a mono-repo for code/maintenance purposes?

Details

Kafka Clients Update

Not SCSt directly changed but the fact that Kafka clients changed in Kafka binder there will be changes the user need to adjust to. We do not need to list them, but rather just list the version bump and point to their release notes / migration guide.

Clone this wiki locally