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 @Poller annotation now support ISO 8601 duration format for fixed-delay, fixed-rate and initial-delay options. See Polling Consumer for more information.

  • Java, Groovy and Kotlin DSLs have now context-specific methods in the IntegationFlowDefinition with a single Consumer argument 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 IntegrationWebSocketContainer and in XML via send-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.