Changes between 6.1 and 6.2

New Components

Debezium Inbound Channel Adapter

基于 Debezium 引擎的变更数据捕获 (CDC) 通道适配器,它允许捕获数据库变更事件,将它们转换为消息,并将这些消息流式传输到出站通道。有关详细信息,请参阅 Debezium Support

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 IntegrationFlowDefinition 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.

  • A new spring.integration.endpoints.defaultTimeout global property has been introduced to override the default 30 seconds timeout for all the endpoints in the application. See Global Properties for more information.

  • The @MessagingGateway and GatewayEndpointSpec provided by the Java DSL now expose the errorOnTimeout property of the internal MethodInvocationGateway extension of the MessagingGatewaySupport. See Gateway Behavior When No response Arrives for more information.

  • The LockRegistry provides template-like API to execute provided task while locked. See Distributed Locks for more information.

  • The default trigger for polling endpoint is now a PeriodicTrigger instance with a 1 second fixed delay period; previously, the default was 10 milliseconds. See Polling Consumer for more information.

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

KafkaMessageSource 现在从使用者属性中提取 ErrorHandlingDeserializer 配置,并从失败的记录头中重新抛出提取的 DeserializationException。请参阅 Kafka Inbound Channel Adapter 了解更多信息。

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

JdbcMessageStoreJdbcChannelMessageStoreJdbcMetadataStoreDefaultLockRepository 实现 SmartLifecycle,并在各自的表上执行 SELECT COUNT 查询,通过 start() 方法确保目标数据库中存在必需的表(根据提供的前缀)。PostgresChannelMessageStoreQueryProvider 现在为轮询查询提供单 DELETE…​RETURNING 语句。为此,ChannelMessageStoreQueryProvider 公开 isSingleStatementForPoll 选项,它从 JdbcChannelMessageStore 咨询。有关详细信息,请参阅 JDBC Message Store

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. The PostgresChannelMessageStoreQueryProvider now provides single DELETE…​RETURNING statement for polling queries. For this purpose the ChannelMessageStoreQueryProvider exposes isSingleStatementForPoll option which is consulted from the JdbcChannelMessageStore. See JDBC Message Store for more information.

MongoDB Support Changes

AbstractConfigurableMongoDbMessageStore 中引入了一个新选项 setCreateIndexes(boolean) 以禁用自动索引创建。请参阅 MongoDB Message Store 了解示例。

A new option setCreateIndexes(boolean) has been introduced in AbstractConfigurableMongoDbMessageStore to disable the auto indexes creation. See MongoDB Message Store for an example.

Remote Files Support Changes

FtpLastModifiedFileListFilterSftpLastModifiedFileListFilterSmbLastModifiedFileListFilter 已相继引入,以便针对 FTPSFTPSMB 的最后修改策略允许文件过滤。请参阅 FTP Inbound Channel AdapterSFTP Inbound Channel AdapterSMB Inbound Channel Adapter 了解更多信息。

FtpLastModifiedFileListFilter, SftpLastModifiedFileListFilter and SmbLastModifiedFileListFilter have been introduced to allow files filtering based on a last-modified strategy respectively for FTP, SFTP and SMB. See FTP Inbound Channel Adapter, SFTP Inbound Channel Adapter, and SMB Inbound Channel Adapter for more information.

SFTP Support Changes

一个新的 DefaultSftpSessionFactory.createSftpClient(…​) 方法已引入,以支持在重写时自定义 SftpClient。请参阅 SFTP Session Factory 了解更多信息。

A new DefaultSftpSessionFactory.createSftpClient(…​) method has been introduced to support a custom SftpClient when overridden. See SFTP Session Factory for more information.

Security Support Changes

spring-integration-security 模块 SecurityContextPropagationChannelInterceptor 中的最后一个类已被弃用,取而代之的是移动到 spring-security-messaging 模块的类似类。有关详细信息,请参阅 Security in Spring Integration

The last class in spring-integration-security module SecurityContextPropagationChannelInterceptor has been deprecated in favor of similar class moved to spring-security-messaging module. See Security in Spring Integration for more information.