跳到主要内容

5.1 和 5.2 之间的变更

QWen Plus 中英对照 Changes between 5.1 and 5.2

包和类的变化

Pausable 已从 o.s.i.endpoint 移动到 o.s.i.core

行为变更

请参阅 迁移指南 了解此版本中的行为变更。

新组件

RSocket 支持

spring-integration-rsocket 模块现在提供了 RSocket 协议支持的通道适配器实现。更多信息,请参见 RSocket 支持

速率限制建议支持

RateLimiterRequestHandlerAdvice 现在可用于限制处理器上的请求速率。更多信息,请参见 Rate Limiter Advice

缓存建议支持

现在可以使用 CacheRequestHandlerAdvice 来缓存处理器的请求结果。更多信息,请参见 缓存建议

Kotlin 脚本支持

JSR223 脚本模块现在包括对 Kotlin 脚本的支持。更多信息请参见脚本支持

Flux Aggregator 支持

FluxAggregatorMessageHandler 现在可用于基于 Project Reactor Flux 操作符对消息逻辑进行分组和窗口化。更多信息,请参见 Flux 聚合器

FTP/SFTP 事件发布者

FTP 和 SFTP 模块现在为某些 Apache Mina FTP/SFTP 服务器事件提供了一个事件监听器。更多信息请参见 Apache Mina FTP 服务器事件Apache Mina SFTP 服务器事件

Avro 转换器

现在提供了简单的 Apache Avro 转换器。更多信息请参见 Avro 转换器

通用更改

JsonToObjectTransformer 现在支持泛型,用于反序列化目标对象。更多信息,请参见 JSON 转换器

splitter 现在支持 discardChannel 配置选项。更多信息请参阅 Splitter

现在控制总线可以处理 PausableLifecycle 的扩展)操作。更多信息请参见 控制总线

引入了 Function<MessageGroup, Map<String, Object>> 策略,用于聚合组件以合并和计算输出消息的头部信息。更多信息请参见 Aggregator 编程模型

框架中抛出的所有 MessageHandlingException 现在都包含一个 bean 资源和来源,以便在没有最终用户代码参与的情况下回溯配置部分。更多信息,请参见错误处理

为了更好的最终用户体验,Java DSL 现在提供了一个配置器变体,用于通过网关接口启动流。详见 IntegrationFlows.from(Class<?> serviceInterface, Consumer<GatewayProxySpec> endpointConfigurer) 的 Java 文档获取更多信息。此外,MethodArgsHolder 现在是 GatewayProxyFactoryBean 中所有表达式评估上下文的根对象。#args#method 评估上下文变量现已废弃。详情见 消息网关 获取更多信息。

AMQP 变化

现在可以配置出站端点,如果在超时时间内未收到发布者确认,则合成一个 "nack"。更多信息,请参见 Outbound Channel Adapter

现在,入站通道适配器可以接收批处理消息作为 List<?> 负载,而不是为每个批处理片段接收离散的消息。有关更多信息,请参阅批处理消息

现在可以配置出站通道适配器以阻塞调用线程,直到收到发布者确认(确认)。有关更多信息,请参阅 出站通道适配器

文件更改

对过滤远程文件进行了一些改进。更多信息请参见 远程持久文件列表过滤器

TCP 改变

ByteArrayLengthHeaderSerializer 使用的长度头部现在可以包含头部本身的长度以及有效载荷的长度。有关更多信息,请参见 消息分隔(序列化器和反序列化器)

当使用 TcpNioServerConnectionFactory 时,现在优先接受新连接而不是从现有连接读取,但这是可配置的。有关更多信息,请参阅 关于非阻塞 I/O (NIO)

outbound 网关有一个新的属性 closeStreamAfterSend;当与每次请求/回复使用新连接时,它会向服务器发出 EOF 信号,而不会关闭连接。这对于使用 EOF 作为消息结束标志而不是数据中某些定界符的服务器非常有用。更多信息请参见 TCP 网关

客户端连接工厂现在支持 connectTimeout,如果连接在这段时间内未建立,将抛出异常。有关更多信息,请参阅 TCP 连接工厂

SoftEndOfStreamException 现在是 RuntimeException,而不是继承自 IOException

邮件更改

AbstractMailReceiver 现在有一个 autoCloseFolder 选项(默认为 true),用于在获取后禁用文件夹的自动关闭,而是填充 IntegrationMessageHeaderAccessor.CLOSEABLE_RESOURCE 头以供下游交互。更多信息,请参阅 邮件接收通道适配器

HTTP 更改

HTTP 入口端点现在支持请求有效负载验证。有关更多信息,请参阅 HTTP 支持

WebFlux 更改

WebFluxRequestExecutingMessageHandler 现在支持 PublisherResourceMultiValueMap 作为请求消息的 payloadWebFluxInboundEndpoint 现在支持请求有效负载验证。更多信息请参见 WebFlux 支持

MongoDb 更改

现在可以使用自定义转换器配置 MongoDbMessageStore 。更多信息请参见 MongoDB 支持

路由器更改

你现在可以禁用回退到将通道键作为通道 bean 名称。更多信息请参见动态路由器

FTP/SFTP 更改

RotatingServerAdvice 现在与 RotationPolicy 及其 StandardRotationPolicy 解耦了。

现在,远程文件信息,包括主机/端口和目录,已包含在 AbstractInboundFileSynchronizingMessageSourceAbstractRemoteFileStreamingMessageSource 实现的消息头中。同样,此信息也包含在 AbstractRemoteFileOutboundGateway 实现的读取操作结果的头中。FTP 输出端点现在支持 chmod 以更改上载文件的权限。(SFTP 自 4.3 版本起已经支持此功能)。更多信息,请参阅 FTP(S) 支持SFTP 支持