This version is still in development and is not considered stable yet. For the latest stable version, please use Spring Integration 6.5.1!spring-doc.cn

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.spring-doc.cn

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

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.spring-doc.cn

In general, the project has been moved to the latest dependency versions. Java 17 is still the baseline, but Java 24 is supported.spring-doc.cn

General Changes

Junit 4-Based Support Components are deprecated.spring-doc.cn

The project now leverages JSpecify annotations to expose null-safe APIs and to check the consistency of those nullability declarations with NullAway as part of its build.spring-doc.cn

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.spring-doc.cn

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 a migration path.spring-doc.cn

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.spring-doc.cn

The JdbcLock now supports the feature of customized time-to-live for the lock status data. See JDBC Lock Registry for more information.spring-doc.cn

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.spring-doc.cn

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.spring-doc.cn

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.spring-doc.cn