|
如需使用最新稳定版本,请使用 Spring Integration 7.0.4! |
6.1 与 6.2 版本之间的变更
新组件
Debezium 入站通道适配器
基于 Debezium 引擎的变更数据捕获 (CDC) 通道适配器,用于捕获数据库变更事件,将其转换为消息并流式传输到输出通道。 有关更多信息,请参阅 Debezium 支持。
常规变更
-
<poller>和@Poller注解的XML配置现在支持ISO 8601时长格式,用于fixed-delay、fixed-rate和initial-delay选项。 有关更多信息,请参阅轮询消费者。 -
Java、Groovy 和 Kotlin DSL 现在在
IntegrationFlowDefinition中提供了特定上下文的Consumer参数方法,用于使用一个构建器和可读的选项来配置端点及其处理器。 例如,请参见 Java DSL 章节 中的transformWith()和splitWith()。 -
已引入一个新的
spring.integration.endpoints.defaultTimeout全局属性,用于覆盖应用程序中所有端点的默认30秒超时时间。 有关更多信息,请参阅全局属性。 -
Java DSL 提供的
@MessagingGateway和GatewayEndpointSpec现在会暴露MessagingGatewaySupport内部MethodInvocationGateway扩展的errorOnTimeout属性。 有关更多信息,请参阅当没有响应到达时的网关行为。 -
The
LockRegistry提供类似模板的 API,用于在锁定状态下执行提供的任务。 有关更多信息,请参阅 分布式锁。 -
轮询端点的默认触发器现在是一个带有1秒固定延迟周期的
PeriodicTrigger实例;此前,默认值为10毫秒。 有关更多信息,请参阅轮询消费者。
WebSockets 变更
-
对于服务器和客户端 WebSocket 容器,发送缓冲区溢出策略现在可以在
IntegrationWebSocketContainer中配置,也可以通过 XML 中的send-buffer-overflow-strategy进行配置。 该策略用于确定当会话的出站消息缓冲区达到配置限制时的行为。 有关更多信息,请参阅 WebSocket 支持。
Apache Kafka 支持变更
The KafkaMessageSource 现在从消费者属性中提取 ErrorHandlingDeserializer 配置,并重新抛出从失败的记录头中提取的 DeserializationException。
有关更多信息,请参阅 Kafka 入站通道适配器。
JDBC 支持变更
JdbcMessageStore、JdbcChannelMessageStore、JdbcMetadataStore和DefaultLockRepository实现SmartLifecycle,并在start()方法中对各自表执行SELECT COUNT查询,以确保根据提供的表前缀,所需表存在于目标数据库中。
现在,PostgresChannelMessageStoreQueryProvider为轮询查询提供了单个DELETE…RETURNING语句。
为此,ChannelMessageStoreQueryProvider暴露了isSingleStatementForPoll选项,该选项从JdbcChannelMessageStore中获取。
有关更多信息,请参阅JDBC 消息存储。
MongoDB 支持变更
在AbstractConfigurableMongoDbMessageStore中引入了一种新选项setCreateIndexes(boolean),用于禁用自动索引创建。
有关示例,请参阅MongoDB 消息存储。
远程文件支持变更
FtpLastModifiedFileListFilter, SftpLastModifiedFileListFilter and SmbLastModifiedFileListFilter 已引入,分别用于为 FTP、SFTP 和 SMB 实现基于最后修改时间的文件过滤策略。
有关更多信息,请参见 FTP 入站通道适配器、SFTP 入站通道适配器 以及 SMB 入站通道适配器。
SFTP 支持变更
引入了一个新的 DefaultSftpSessionFactory.createSftpClient(…) 方法,以在重写时支持自定义的 SftpClient。
有关更多信息,请参阅 SFTP Session Factory。
安全支持变更
spring-integration-security模块中的最后一个类已被弃用,类似类已移至spring-security-messaging模块。
有关更多信息,请参阅Spring Integration 中的安全性。