For those who are already familiar with Spring Integration, this chapter provides a brief overview of the new features of version 6.2.
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.2?
If you are interested in more details, see the Issue Tracker tickets that were resolved as part of the 6.2 development process.
In general the project has been moved to the latest dependency versions.
New Components
Debezium Inbound Channel Adapter
The Debezium Engine based Change Data Capture (CDC) channel adapter, that allows capturing database change events, converting them into Messages and streaming those to the outbound channels. See Debezium Support for more information.
General Changes
-
The XML configuration for
<poller>and@Pollerannotation now support ISO 8601 duration format forfixed-delay,fixed-rateandinitial-delayoptions. See Polling Consumer for more information. -
Java, Groovy and Kotlin DSLs have now context-specific methods in the
IntegationFlowDefinitionwith a singleConsumerargument to configure an endpoint and its handler with one builder and readable options. See, for example,transformWith(),splitWith()in Java DSL Chapter.
WebSockets Changes
-
For the server and client WebSocket containers, the send buffer overflow strategy is now configurable in
IntegrationWebSocketContainerand in XML viasend-buffer-overflow-strategy. This strategy determines the behavior when a session’s outbound message buffer has reached the configured limit. See WebSockets Support for more information.
Apache Kafka Support Changes
The KafkaMessageSource now extracts an ErrorHandlingDeserializer configuration from the consumer properties and re-throws DeserializationException extracted from failed record headers.
See Kafka Inbound Channel Adapter for more information.
JDBC Support Changes
The JdbcMessageStore, JdbcChannelMessageStore, JdbcMetadataStore, and DefaultLockRepository implement SmartLifecycle and perform a`SELECT COUNT` query, on their respective tables, in the start() method to ensure that the required table (according to the provided prefix) is present in the target database.
See Initializing the Database for more information.