5.3 和 5.4 之间的变化

新组件

Apache Kafka 的通道适配器

独立的 Spring Integration for Apache Kafka 项目已作为 spring-integration-kafka 模块合并到本项目中。

KafkaProducerMessageHandlersendTimeoutExpression 默认值已更改。

您现在可以访问底层 send() 操作的 Future<?>

有关更多信息,请参见 Spring for Apache Kafka 支持

R2DBC 通道适配器

引入了用于 R2DBC 数据库交互的通道适配器。 有关更多信息,请参见 R2DBC 支持

Redis Stream 支持

引入了用于 Redis Stream 支持的通道适配器。 有关更多信息,请参见 Redis Stream 出站通道适配器

可续期锁注册表

引入了可续期锁注册表,以允许续租分布式锁的租约。 有关更多信息,请参见 JDBC 实现

ZeroMQ 支持

引入了 ZeroMqChannelZeroMqMessageHandlerZeroMqMessageProducer。 有关更多信息,请参见 ZeroMQ 支持

一般性更改

单向消息网关(void 方法返回类型)现在会明确将 nullChannel 设置到 replyChannel 头中,以忽略任何可能的下游回复。 有关更多信息,请参见 设置默认回复通道

此外,网关方法调用器(GatewayProxyFactoryBean.MethodInvocationGateway)现在提供了托管 bean 名称,该名称是网关代理 bean 名称加上方法签名的组合。 例如:sampleGateway#echo(String)。 这会影响为网关方法调用公开的消息历史和指标,并在应用程序上下文启动和关闭期间提供细粒度日志。

聚合器(和重排序器)现在可以使孤立组过期(应用程序重新启动后没有新消息到达的持久化存储中的组)。 有关更多信息,请参见 聚合器过期组

已删除被 Micrometer meters 替换的旧版指标。

线程屏障 现在有两个独立的超时选项:requestTimeouttriggerTimeout

TCP/UDP 更改

连接工厂现在支持多个发送组件(TcpSender);它们仍然限制为一个接收组件(TcpListener)。 例如,这允许入站网关和出站通道适配器共享同一个工厂,支持请求/回复以及从服务器到客户端的任意消息传递。 共享工厂不应与出站网关一起使用,除非使用单次连接或 ThreadAffinityClientConnectionFactory。 有关更多信息,请参见 协作通道适配器TCP 网关

UDP 通道适配器现在可以配置 SocketCustomizer,它允许设置适配器不直接支持的套接字属性。 有关更多信息,请参见 UDP 适配器

AMQP 更改

出站端点现在具有一种处理发布者确认和返回的新机制。 有关更多信息,请参见 发布者确认和返回的替代机制

AmqpInboundChannelAdapter 支持新的 BatchMode.EXTRACT_PAYLOAD_WITH_HEADERS。 有关更多信息,请参见 入站通道适配器

邮件更改

AbstractMailReceiver 现在可以按原样生成 MimeMessage,而无需急切地获取其内容。 有关更多信息,请参见 邮件接收通道适配器