This version is still in development and is not considered stable yet. For the latest stable version, please use Spring Integration 6.4.1!

What’s New?

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

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.5?

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

In general the project has been moved to the latest dependency versions.

General Changes

The deprecated previously usage of org.springframework.util.concurrent.ListenableFuture has been removed in favor of CompletableFuture.

The previously deprecated SpEL-based Control Bus components have been removed in favor of functionality around ControlBusCommandRegistry. The <control-bus use-registry=""> attribute is deprecated now without replacement since only ControlBusCommandRegistry functionality is available. The Java DSL controlBusOnRegistry() operator is deprecated in favor of restored controlBus() which is fully based now on the ControlBusCommandRegistry. See Control Bus for more information.

The AbstractCorrelatingMessageHandler does not throw an IllegalArgumentException for the collection of payloads as a result of the MessageGroupProcessor. Instead, such a collection is wrapped into a single reply message. See Aggregator for more information.

The discardIndividuallyOnExpiry Option For Correlation Handlers

The aggregator and resequencer can now discard the whole expired group as a single message via setting discardIndividuallyOnExpiry to false. See ReleaseStrategy for more information.

The LockRegistry in the MessageStore

The AbstractMessageGroupStore now can be configured with a LockRegistry to perform series of persistent operation atomically. See Use LockRegistry for more information.

Micrometer Observation Changes

The SourcePollingChannelAdapter endpoint now starts a CONSUMER kind observation for the received message. The MessageReceiverContext now distinguishes between handler, message-source and message-producer values for the spring.integration.type low cardinality tag. See Micrometer Observation for more information.

Optional Paho MQTT Dependencies

The org.eclipse.paho:org.eclipse.paho.client.mqttv3 dependency for spring-integration-mqtt is now also optional as org.eclipse.paho:org.eclipse.paho.mqttv5.client always was. See MQTT Support for more information.