5.3 和 5.4 之间的更改
新组件
Apache Kafka 通道适配器
独立的 Spring Integration for Apache Kafka 项目已合并为 spring-integration-kafka
模块到此项目中。
KafkaProducerMessageHandler
的 sendTimeoutExpression
默认值已更改。
你现在可以访问底层 send()
操作的 Future<?>
。
详见 Spring 对 Apache Kafka 的支持 获取更多信息。
R2DBC 通道适配器
已经引入了用于 R2DBC 数据库交互的 Channel Adapters 。更多信息请参见 R2DBC 支持。
Redis 流支持
已引入对 Redis Stream 的 Channel Adapters 支持。更多信息请参见 Redis Stream 输出通道适配器。
可续期锁注册表
已引入可续期锁注册表,以允许续订分布式锁的租约。更多信息请参见 JDBC 实现。
ZeroMQ 支持
引入了 ZeroMqChannel
、ZeroMqMessageHandler
和 ZeroMqMessageProducer
。更多信息请参见 ZeroMQ 支持。
通用更改
单向消息网关(void
方法返回类型)现在会将 nullChannel
显式设置到 replyChannel
头中,以忽略任何可能的下游回复。更多信息,请参阅设置默认回复通道。
此外,网关方法调用者 (GatewayProxyFactoryBean.MethodInvocationGateway
) 现在会提供管理的 bean 名称,该名称是网关代理 bean 名称加上方法签名的组合。例如:sampleGateway#echo(String)
。这会影响网关方法调用所暴露的消息历史和指标,并且在应用程序上下文启动和关闭时提供细粒度的日志。
聚合器(和重排序器)现在可以过期孤立组(在持久化存储中的组,在应用程序重新启动后没有新的消息到达)。更多信息请参见 Aggregator Expiring Groups。
已被 Micrometer 计量器取代的遗留指标已移除。
线程屏障 现在有两个独立的超时选项:requestTimeout
和 triggerTimeout
。
TCP/UDP 更改
连接工厂现在支持多个发送组件(TcpSender
);它们仍然限制为一个接收组件(TcpListener
)。这允许,例如,入站网关和出站通道适配器共享相同的工厂,支持服务器到客户端的请求/回复和任意消息传递。共享工厂不应与出站网关一起使用,除非使用单次连接或 ThreadAffinityClientConnectionFactory
。更多信息请参见 协同工作的通道适配器 和 TCP 网关。
现在可以使用 SocketCustomizer
配置 UDP 通道适配器,这允许设置适配器不直接支持的套接字属性。更多信息请参见 UDP 适配器。
AMQP 更改
outbound endpoints 现在有了处理发布者确认和返回的新机制。更多信息,请参见 Alternative Mechanism for Publisher Confirms and Returns。
AmqpInboundChannelAdapter
支持新的 BatchMode.EXTRACT_PAYLOAD_WITH_HEADERS
。更多信息请参见 Inbound Channel Adapter。
邮件更改
AbstractMailReceiver
现在可以生成 MimeMessage
而不会急切地获取其内容。更多信息请参见 邮件接收通道适配器。