5.1 和 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。
现在控制总线可以处理 Pausable
(Lifecycle
的扩展)操作。更多信息请参见 控制总线。
引入了 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
现在支持 Publisher
、Resource
和 MultiValueMap
作为请求消息的 payload
。WebFluxInboundEndpoint
现在支持请求有效负载验证。更多信息请参见 WebFlux 支持。
MongoDb 更改
现在可以使用自定义转换器配置 MongoDbMessageStore
。更多信息请参见 MongoDB 支持。
路由器更改
你现在可以禁用回退到将通道键作为通道 bean 名称。更多信息请参见动态路由器。
FTP/SFTP 更改
RotatingServerAdvice
现在与 RotationPolicy
及其 StandardRotationPolicy
解耦了。