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

  • <poller>@Poller 注释现在支持对于 fixed-delayfixed-rateinitial-delay 选项的“ISO 8601”持续时间格式。有关详细信息,请参阅 Polling Consumer

  • 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 和 Kotlin DSL 现在在 IntegrationFlowDefinition 中拥有特定于上下文的在方法,它带有单个 Consumer 参数,可以用一个构建器和可读选项来配置一个端点及其处理程序。例如,请参见 Java DSL Chapter 中的 transformWith()splitWith()

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

  • 一个新的 spring.integration.endpoints.defaultTimeout 全局属性已经引入,用来覆盖应用程序中所有端点的默认 30 秒超时。请参见 Global Properties 以了解更多信息。

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

  • Java DSL 提供的 @MessagingGatewayGatewayEndpointSpec 现在公开了 MessagingGatewaySupport 的内部 MethodInvocationGateway 扩展的 errorOnTimeout 属性。请参见 Gateway Behavior When No response Arrives 以了解更多信息。

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

  • LockRegistry 提供模板类 API,在锁定时执行所提供的任务。请参见 Distributed Locks 以了解更多信息。

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

  • 轮询端点的默认触发器现在是一个带有 1 秒固定延迟时期的 PeriodicTrigger 实例;之前,默认值为 10 毫秒。请参见 Polling Consumer 以了解更多信息。

  • 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

  • 对于服务器和客户端 WebSocket 容器,发送缓冲区溢出策略现在可以在 IntegrationWebSocketContainer 中用 send-buffer-overflow-strategy 通过 XML 进行配置。当会话的出站消息缓冲区达到所配置的限制时,此策略决定行为。请参见 WebSockets Support 以了解更多信息。

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