For those who are already familiar with Spring Integration, this chapter provides a brief overview of the new features of version 5.4.
If you are interested in the changes and features that were introduced in earlier versions, see the Change History.
If you are interested in more details, see the Issue Tracker tickets that were resolved as part of the 5.4 development process.
The standalone Spring Integration Kafka project has been merged as a
spring-integration-kafka module to this project.
sendTimeoutExpression default has changed.
You can now access the
Future<?> for underlying
See Spring for Apache Kafka Support for more information.
The Channel Adapters for R2DBC database interaction have been introduced. See R2DBC Support for more information.
The Channel Adapters for Redis Stream support have been introduced. See Redis Stream Outbound Channel Adapter for more information.
A Renewable lock registry has been introduced to allow renew lease of a distributed lock. See JDBC implementation for more information.
ZeroMqMessageProducer have been introduced.
See ZeroMQ Support for more information.
The one-way messaging gateway (the
void method return type) now sets a
nullChannel explicitly into the
replyChannel header to ignore any possible downstream replies.
See Setting the Default Reply Channel for more information.
Also the gateway method invokers (
GatewayProxyFactoryBean.MethodInvocationGateway) are now supplied with the managed bean name as a combination of gateway proxy bean name plus method signature.
This effects message history and metrics exposed for the gateway method calls and also give fine-grained logs during start and close of application context.
The aggregator (and resequencer) can now expire orphaned groups (groups in a persistent store where no new messages arrive after an application restart). See Aggregator Expiring Groups for more information.
The legacy metrics that were replaced by Micrometer meters have been removed.
The Thread Barrier has now two separate timeout options:
Connection factories now support multiple sending components (
TcpSender); they remain limited to one receiving component (
This allows, for example, an inbound gateway and outbound channel adapter to share the same factory, supporting both request/reply and arbitrary messaging from the server to the client.
Shared factories should not be used with outbound gateways, unless single-use connections or the
ThreadAffinityClientConnectionFactory are being used.
See Collaborating Channel Adapters and TCP Gateways for more information.
The UDP channel adapters can now be configured with a
SocketCustomizer which allows the setting of socket properties that are not directly supported by the adapters.
See UDP Adapters for more information.
spring-integration-rmi module is deprecated with no replacement and is going to be removed in the next major version.
See RMI Support for more information.
The outbound endpoints now have a new mechanism for handling publisher confirms and returns. See Alternative Mechanism for Publisher Confirms and Returns for more information.
BatchMode.EXTRACT_PAYLOAD_WITH_HEADERS is supported by the
See Inbound Channel Adapter for more information.
AbstractMailReceiver can now produce the
MimeMessage as-is without eager fetching its content.
See Mail-receiving Channel Adapter for more information.