Changes between 6.0 and 6.1

New Components

Zip Support

Zip Spring 集成扩展项目已作为一个 `spring-integration-zip`模块进行迁移。有关详细信息,请参阅 Zip Support

The Zip Spring Integration Extension project has been migrated as the spring-integration-zip module. See Zip Support for more information.

ContextHolderRequestHandlerAdvice

`ContextHolderRequestHandlerAdvice`允许将请求消息中的值存储到 `MessageHandler`执行期间的一些上下文中。有关详细信息,请参阅 Context Holder Advice

The ContextHolderRequestHandlerAdvice allows to store a value from a request message into some context around MessageHandler execution. See Context Holder Advice for more information.

The handleReactive() operator for Java DSL

IntegrationFlow 现在可以用便捷的 handleReactive(ReactiveMessageHandler) 运算符结束。请参阅 ReactiveMessageHandler 了解更多信息。

The IntegrationFlow can now end with a convenient handleReactive(ReactiveMessageHandler) operator. See ReactiveMessageHandler for more information.

PartitionedChannel

已经引入了新的 PartitionedChannel,以便在同一条目中处理具有相同分区密钥的消息。请参阅 PartitionedChannel 了解更多信息。

A new PartitionedChannel has been introduced to process messages with the same partition key in the same thread. See PartitionedChannel for more information.

General Changes

  • 添加了从/到协议缓冲区转换的支持。有关详细信息,请参阅 Protocol Buffers Transformers

  • Added support for transforming to/from Protocol Buffers. See Protocol Buffers Transformers for more information.

  • MessageFilter 当消息被静默放弃并丢失时,现在会向日志中发出警告。有关详细信息,请参阅 Filter

  • The MessageFilter now emits a warning into logs when message is silently discarded and dropped. See Filter for more information.

  • 网关和回复通道适配器中发送和接收操作的默认超时已从无限更改为 30 秒。只有一个被留下来作为 1 秒,它是一个 receiveTimeout,用于 PollingConsumer 不阻止调度程序线程太久,并让其他排队任务使用 TaskScheduler 执行。

  • The default timeout for send and receive operations in gateways and replying channel adapters has been changed from infinity to 30 seconds. Only one left as a 1 second is a receiveTimeout for PollingConsumer to not block a scheduler thread too long and let other queued tasks to be performed with the TaskScheduler.

  • IntegrationComponentSpec.get() 方法已被弃用,并且计划在下一个版本中删除。由于 IntegrationComponentSpecFactoryBean,因此其 bean 定义必须保持原样,而无需任何目标对象解析。Java DSL 和该框架本身将管理 IntegrationComponentSpec 生命周期。有关更多信息,请参阅 Java DSL

  • The IntegrationComponentSpec.get() method has been deprecated with removal planned for the next version. Since IntegrationComponentSpec is a FactoryBean, its bean definition must stay as is without any target object resolutions. The Java DSL and the framework by itself will manage the IntegrationComponentSpec lifecycle. See Java DSL for more information.

  • 如果输出通道配置为 ReactiveStreamsSubscribableChannel,则默认情况下 AbstractMessageProducingHandler 被标记为 async。有关更多信息,请参阅 Asynchronous Service Activator

  • The AbstractMessageProducingHandler is marked as an async by default if its output channel is configured to a ReactiveStreamsSubscribableChannel. See Asynchronous Service Activator for more information.

Web Sockets Changes

现可使用预定义的 URIClientWebSocketContainer 配置,而不是 uriTemplateuriVariables 的组合。有关详细信息,请参见 WebSocket Overview

A ClientWebSocketContainer can now be configured with a predefined URI instead of a combination of uriTemplate and uriVariables. See WebSocket Overview for more information.

JMS Changes

现可通过其 ChannelPublishingJmsMessageListenerJmsInboundGateway 配置 replyToExpression 以在运行时针对请求消息解决回复目标。有关详细信息,请参见 JMS Inbound Gateway

The JmsInboundGateway, via its ChannelPublishingJmsMessageListener, can now be configured with a replyToExpression to resolve a reply destination against the request message at runtime. See JMS Inbound Gateway for more information.

Mail Changes

支持异步消息流程,替代先前的 ImapIdleChannelAdapter.sendingTaskExecutor 属性(现已弃用)。有关详细信息,请参见 Mail-receiving Channel Adapter

The (previously deprecated) ImapIdleChannelAdapter.sendingTaskExecutor property has been removed in favor of an asynchronous message process downstream in the flow. See Mail-receiving Channel Adapter for more information.

Files Changes

FileReadingMessageSource 现公开 watchMaxDepthwatchDirPredicateWatchService 选项。有关详细信息,请参见 WatchServiceDirectoryScanner

The FileReadingMessageSource now exposes watchMaxDepth and watchDirPredicate options for the WatchService. See WatchServiceDirectoryScanner for more information.

AMQP Changes

Rabbit Streams 的 Java DSL API(RabbitStream`factory)公开其他属性以进行简单配置。有关详细信息,请参阅 `RabbitMQ Stream Queue Support

The Java DSL API for Rabbit Streams (the RabbitStream factory) exposes additional properties for simple configurations. See RabbitMQ Stream Queue Support for more information.

JDBC Changes

DefaultLockRepository 现公开 insertupdaterenew 查询的设置器。有关详细信息,请参见 JDBC Lock Registry

The DefaultLockRepository now exposes setters for insert, update and renew queries. See JDBC Lock Registry for more information.