Changes between 6.1 and 6.2

New Components

Debezium Inbound Channel Adapter

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

General Changes

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

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

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

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

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

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

WebSockets Changes

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

Apache Kafka Support Changes

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

JDBC Support Changes

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

MongoDB Support Changes

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

Remote Files Support Changes

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

SFTP Support Changes

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

Security Support Changes

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