Dear Spring community,
On behalf of the team and all the contributors, it’s my pleasure to announce a General Availability for Spring Integration
5.5, plus Spring Integration
5.4.7 patch release.
Both versions can be obtained from Maven Central and it is recommended to upgrade your projects or just pull them transitively from respective latest Spring Boot patch versions!
5.4.7 version contains mostly critical bug fixes and here is a highlight of notable changes made to Spring Integration
5.5, which, in general, is based on the community feedback to make the framework useful for end-user use-cases:
A support for Spring Native compatibility - a lot of bean definition reflection has been reworked to the functional style, which improves a start up time even for regular JVM application!
FileAggregatorcomponent was introduced. See its JavaDocs for more info;
All the persistent
MessageGroupStoreimplementations provide a
streamMessagesForGroup(Object groupId)contract based on the target database streaming API;
integrationGlobalPropertiescustom bean now has to be an instance of
org.springframework.integration.context.IntegrationPropertiesinstead of deprecated
java.util.Propertiesrepresentation. All these Integration properties are now exposed as auto-configuration properties in Spring Boot;
maxMessagesPerPoll == 0for an
AbstractPollingEndpointis treated now as to skip calling the source;
@Reactivesub-annotation was introduced for annotation configuration to apply a
Function<? super Flux<Message<?>>, ? extends Publisher<Message<?>>> reactiveCustomizerfor underlying consumer endpoint and make it as reactive independently of the input channel. Same behavior can be achieved in Java DSL via
MongoDb message sources now have an optional
updateto mark document which have just been pulled from the collection;
WebSocket server endpoint-based channel adapters can now be registered (and removed) at runtime;
MessageGroupabstraction has now a
conditionproperty which can be consulted later on instead of the whole group iteration. The
AbstractCorrelatingMessageHandler, in turn, exposes a
BiFunction<Message<?>, String, String> conditionSupplierto extract possible group condition from the currently processed message;
DelayHandlernow registers a
TransactionSynchronizationto schedule a delay task only when current transaction is committed;
The GreenMail library is used now for email integration tests.
Stay tuned for Spring Boot
2.5.0 later today!