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

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

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

  • 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.

  • 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.

  • 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.