5.1 和 5.2 之间的变化
行为变化
有关此版本中的行为变化,请参阅 迁移指南。
新组件
RSocket 支持
spring-integration-rsocket
模块现在可用,它提供了 RSocket 协议支持的通道适配器实现。
有关更多信息,请参阅 RSocket 支持。
速率限制建议支持
RateLimiterRequestHandlerAdvice
现在可用,用于限制处理程序的请求速率。
有关更多信息,请参阅 速率限制建议。
缓存建议支持
CacheRequestHandlerAdvice
现在可用,用于缓存处理程序上的请求结果。
有关更多信息,请参阅 缓存建议。
Kotlin 脚本支持
JSR223 脚本模块现在包含对 Kotlin 脚本的支持。 有关更多信息,请参阅 脚本支持。
Flux 聚合器支持
FluxAggregatorMessageHandler
现在可用,用于基于 Project Reactor Flux
运算符的消息分组和窗口逻辑。
有关更多信息,请参阅 Flux 聚合器。
FTP/SFTP 事件发布器
FTP 和 SFTP 模块现在为某些 Apache Mina FTP/SFTP 服务器事件提供了一个事件监听器。 有关更多信息,请参阅 Apache Mina FTP 服务器事件 和 Apache Mina SFTP 服务器事件。
Avro 转换器
现在提供了简单的 Apache Avro 转换器。 有关更多信息,请参阅 x5.2-avro。
一般变化
JsonToObjectTransformer
现在支持目标对象的泛型,以便反序列化。
有关更多信息,请参阅 JSON 转换器。
splitter
现在支持 discardChannel
配置选项。
有关更多信息,请参阅 拆分器。
控制总线现在可以处理 Pausable
(Lifecycle
的扩展) 操作。
有关更多信息,请参阅 控制总线。
Function<MessageGroup, Map<String, Object>>
策略已引入聚合器组件,用于合并和计算输出消息的头。
有关更多信息,请参阅 聚合器编程模型。
框架中抛出的所有 MessageHandlingException
现在都包含一个 bean 资源和源,以便在没有最终用户代码参与的情况下回溯配置部分。
有关更多信息,请参阅 错误处理。
为了更好的最终用户体验,Java DSL 现在提供了一个配置器变体,用于通过网关接口启动流。
有关更多信息,请参阅 IntegrationFlows.from(Class<?> serviceInterface, Consumer<GatewayProxySpec> endpointConfigurer)
JavaDocs。
现在 MethodArgsHolder
是 GatewayProxyFactoryBean
中所有表达式的评估上下文的根对象。
#args
和 #method
评估上下文变量现已弃用。
有关更多信息,请参阅 消息网关。
AMQP 变化
出站端点现在可以配置为在超时时间内未收到发布者确认时合成一个“nack”。 有关更多信息,请参阅 出站通道适配器。
入站通道适配器现在可以接收批处理消息作为 List<?>
载荷,而不是为每个批处理片段接收一个离散消息。
有关更多信息,请参阅 批处理消息。
出站通道适配器现在可以配置为阻塞调用线程,直到收到发布者确认(acknowledgment)。 有关更多信息,请参阅 出站通道适配器。
文件变化
对过滤远程文件进行了一些改进。 有关更多信息,请参阅 远程持久文件列表过滤器。
TCP 变化
ByteArrayLengthHeaderSerializer
使用的长度头现在可以包含头的长度以及载荷的长度。
有关更多信息,请参阅 消息分隔(序列化器和反序列化器)。
使用 TcpNioServerConnectionFactory
时,现在优先接受新连接而不是从现有连接读取,但这是可配置的。
有关更多信息,请参阅 关于非阻塞 I/O (NIO)。
出站网关有一个新的属性 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 名称。 有关更多信息,请参阅 动态路由器。