For those who are already familiar with Spring Integration, this chapter provides a brief overview of the new features of version 6.0.

If you are interested in the changes and features that were introduced in earlier versions, see the Change History.

What’s New in Spring Integration 6.0?

If you are interested in more details, see the Issue Tracker tickets that were resolved as part of the 6.0 development process.

In general the project has been moved to Java 17 baseline and migrated from Java EE to Jakarta EE.

New Components

GraphQL Support

The GraphQL support has been added. See GraphQL Support for more information.

General Changes

The messaging annotations don’t require a poller attribute as an array of @Poller any more. See Using the @Poller Annotation for more information.

HTTP Changes

The #cookies variable for expression evaluation context, exposed in the HttpRequestHandlingEndpointSupport, is now a MultiValueMap to carry all the values for cookies set by the client. See HTTP Support for more information.

RMI Removal

The spring-integration-rmi module has been removed altogether after being deprecated in previous versions. There is no replacement: it is recommended to migrate to more secure network and application protocols, such as WebSockets, RSockets, gRPC or REST.

Apache Kafka Changes

When providing a RetryTemplate on the inbound gateway or message-driven channel adapter, if an errorChannel is also provided, an ErrorMessageSendingRecoverer is automatically configured.

In addition, the new KafkaErrorMessageSendingRecoverer is provided; this can be used with a DefaultErrorHandler to avoid issues with long aggregated retry delays causing partitions rebalances.

See Spring for Apache Kafka Support for more information.