6.0 和 6.1 之间的变更
新组件
Zip 支持
Zip Spring Integration 扩展项目已迁移到 spring-integration-zip 模块。更多信息,请参见 Zip 支持。
ContextHolderRequestHandlerAdvice
ContextHolderRequestHandlerAdvice 允许将请求消息中的值存储到 MessageHandler 执行周围的一些上下文中。更多信息,请参阅 上下文保持建议。
Java DSL 中的 handleReactive() 操作符
IntegrationFlow 现在可以以方便的 handleReactive(ReactiveMessageHandler) 操作符结束。更多信息,请参见 ReactiveMessageHandler。
PartitionedChannel
引入了一个新的 PartitionedChannel,用于在同一个线程中处理具有相同分区键的消息。更多信息请参见 PartitionedChannel。
通用更改
-
添加了对转换 Protocol Buffers 的支持。更多信息请参见Protocol Buffers 转换器。
-
MessageFilter现在会在消息被静默丢弃时向日志发出警告。更多信息请参见 过滤器。 -
网关和应答通道适配器中发送和接收操作的默认超时时间已从无限改为
30秒。唯一保留的是PollingConsumer的receiveTimeout为1秒,以避免调度线程阻塞过长时间,并让其他排队的任务能够在TaskScheduler中执行。 -
IntegrationComponentSpec.get()方法已被弃用,计划在下一个版本中移除。由于IntegrationComponentSpec是一个FactoryBean,其 bean 定义必须保持不变,不能有任何目标对象解析。Java DSL 和框架本身将管理IntegrationComponentSpec的生命周期。更多信息请参见 Java DSL。 -
如果
AbstractMessageProducingHandler的输出通道配置为ReactiveStreamsSubscribableChannel,则默认情况下它会被标记为async。更多信息请参见 异步服务激活器。
Web Sockets 变更
现在可以使用预定义的 URI 而不是 uriTemplate 和 uriVariables 的组合来配置 ClientWebSocketContainer。更多信息,请参阅 WebSocket 概述。
JMS 更改
JmsInboundGateway 通过其 ChannelPublishingJmsMessageListener,现在可以配置 replyToExpression 以在运行时针对请求消息解析回复目的地。更多信息,请参见 JMS 入站网关。
邮件更改
已移除 (先前已弃用的) ImapIdleChannelAdapter.sendingTaskExecutor 属性,现在改用流程中的异步消息处理下游。有关更多信息,请参阅 邮件接收通道适配器。
文件更改
FileReadingMessageSource 现在为 WatchService 暴露了 watchMaxDepth 和 watchDirPredicate 选项。更多信息请参见 WatchServiceDirectoryScanner。
AMQP 更改
Rabbit Streams 的 Java DSL API(RabbitStream 工厂)公开了额外的属性以进行简单的配置。有关更多信息,请参阅 RabbitMQ Stream 队列支持。
JDBC 更改
DefaultLockRepository 现在暴露了 insert、update 和 renew 查询的 setter 方法。更多信息请参见 JDBC 锁注册表。