This version is still in development and is not considered stable yet. For the latest stable version, please use Spring Integration 6.5.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 7.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 7.0?
For more details, see the GitHub Issues that were resolved as part of the 7.0 development process.
In general the project has been moved to the latest dependency versions. Java 17 is still baseline, but Java 24 is supported.
New Components
A new DistributedLock
interface has been introduced, providing new methods, lock(Duration ttl
) and tryLock(long time, TimeUnit unit, Duration ttl)
, to acquire a lock with a custom time-to-live (TTL).
See Distributed Locks for more information.
The Jackson 2 support has been deprecated for removal.
Jackson 3 is now the default with new components: JacksonJsonObjectMapper
, JacksonPropertyAccessor
, JacksonIndexAccessor
, and JacksonMessagingUtils
.
See their JavaDocs for more information, and deprecated classes for migration path.
JDBC Changes
The JDBC module now provides a Java DSL API via its dedicated org.springframework.integration.jdbc.dsl.Jdbc
factory.
The Java DSL for JDBC Components chapter provides more details.
The JdbcLock
now supports the feature of customized time-to-live for the lock status data.
See JDBC Lock Registry for more information.
Redis Changes
The RedisLock
now supports the feature of customized time-to-live for the lock status data.
See Redis Lock Registry for more information.
Hazelcast Changes
Previously deprecated classes in the spring-integation-hazelcast
module, such as LeaderInitiator
, HazelcastMembershipListener
, HazelcastLocalInstanceRegistrar
and HazelcastLockRegistry
, are now removed due to not supported CP-subsystem in Hazelcast library for Open Source.
MQTT Changes
The AbstractMqttMessageDrivenChannelAdapter
and ClientManager
implementations now expose a quiescentTimeout
option which is propagated in their stop()
method down to the disconnectForcibly()
API of the MQTT Paho clients.
See MQTT Support for more information.