跳到主要内容

6.1 和 6.2 之间的更改

QWen Plus 中英对照 Changes between 6.1 and 6.2

新组件

Debezium 入站通道适配器

基于 Debezium Engine 的变更数据捕获 (CDC) 通道适配器,允许捕获数据库变更事件,将它们转换为消息并流式传输到输出通道。更多信息,请参阅 Debezium 支持

通用更改

  • <poller>@Poller 注解的 XML 配置现在支持 ISO 8601 持续时间格式用于 fixed-delayfixed-rateinitial-delay 选项。更多信息请参阅轮询消费者

  • Java、Groovy 和 Kotlin DSL 现在在 IntegrationFlowDefinition 中提供了上下文特定的方法,这些方法仅带有一个 Consumer 参数来配置一个端点及其处理器,并且可以使用一个构建器和可读选项。例如,参见 Java DSL 章节中的 transformWith()splitWith()

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

  • Java DSL 提供的 @MessagingGatewayGatewayEndpointSpec 现在暴露了内部 MethodInvocationGateway 扩展的 errorOnTimeout 属性。更多信息请参阅当没有响应到达时网关的行为

  • LockRegistry 提供了模板式的 API 来执行提供的任务,同时保持锁定。更多信息请参阅分布式锁

  • 轮询端点的默认触发器现在是一个具有 1 秒固定延迟周期的 PeriodicTrigger 实例;以前,默认值为 10 毫秒。更多信息请参阅轮询消费者

WebSockets 更改

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

Apache Kafka 支持变更

现在,KafkaMessageSource 从消费者属性中提取了一个 ErrorHandlingDeserializer 配置,并重新抛出从失败记录头中提取的 DeserializationException。更多信息请参见 Kafka 入站通道适配器

JDBC 支持变更

JdbcMessageStoreJdbcChannelMessageStoreJdbcMetadataStoreDefaultLockRepository 实现了 SmartLifecycle,并在各自的表上,在 start() 方法中执行 SELECT COUNT 查询,以确保根据提供的前缀所需的表存在于目标数据库中。PostgresChannelMessageStoreQueryProvider 现在为轮询查询提供单个 DELETE…​RETURNING 语句。为此,ChannelMessageStoreQueryProvider 暴露了 isSingleStatementForPoll 选项,该选项由 JdbcChannelMessageStore 咨询。更多信息请参见 JDBC 消息存储

MongoDB 支持变更

AbstractConfigurableMongoDbMessageStore 中引入了一个新的选项 setCreateIndexes(boolean),用于禁用自动索引创建。有关示例,请参阅 MongoDB 消息存储

远程文件支持更改

FtpLastModifiedFileListFilterSftpLastModifiedFileListFilterSmbLastModifiedFileListFilter 已被引入,分别允许基于最后修改策略对 FTPSFTPSMB 中的文件进行过滤。更多信息请参见 FTP 入站通道适配器SFTP 入站通道适配器SMB 入站通道适配器

SFTP 支持变更

引入了一个新的 DefaultSftpSessionFactory.createSftpClient(…​) 方法,以支持在重写时使用自定义的 SftpClient。更多信息,请参见 SFTP 会话工厂

安全支持变更

spring-integration-security 模块中的最后一个类 SecurityContextPropagationChannelInterceptor 已被弃用,取而代之的是类似类已移动到 spring-security-messaging 模块。更多信息,请参阅 Spring Integration 中的安全性