此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Integration 6.3.1Spring中文文档

此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Integration 6.3.1Spring中文文档

请参阅迁移指南,了解可能影响应用程序的重要更改。 您可以在 wiki 上找到所有版本的迁移指南,这些版本可以追溯到 2.1Spring中文文档

新组件

版本 4.0 添加了许多新组件。Spring中文文档

MQTT 通道适配器

MQTT 通道适配器(以前在 Spring Integration Extensions 存储库中可用)现在作为普通 Spring Integration 发行版的一部分提供。 请参阅 MQTT 支持Spring中文文档

@EnableIntegration

我们添加了注解,以允许在使用类时声明标准 Spring Integration bean。 有关详细信息,请参阅注释支持@EnableIntegration@ConfigurationSpring中文文档

@IntegrationComponentScan

我们添加了注释,以允许对 Spring Integration 特定组件进行类路径扫描。 有关详细信息,请参阅注释支持@IntegrationComponentScanSpring中文文档

“@EnableMessageHistory”

现在,您可以使用类中的注释启用消息历史记录。 此外,JMX MBean 可以修改消息历史记录设置。 此外,还可以跟踪带注释的终结点(如 、 等)的自动创建的实例。 有关详细信息,请参阅消息历史记录@EnableMessageHistory@ConfigurationMessageHistoryMessageHandler@ServiceActivator@SplitterSpring中文文档

@MessagingGateway

现在,您可以使用注释配置邮件网关接口。 它是 XML 元素的类似物。 有关详细信息,请参阅@MessagingGateway注释@MessagingGateway<int:gateway/>Spring中文文档

Spring 启动@EnableAutoConfiguration

除了前面提到的注解之外,我们还引入了一个钩子,允许使用 Spring Boot 的注解来配置 Spring Integration 基础架构 bean。 有关详细信息,请参阅《Spring Boot 参考指南》中的“自动配置”@EnableIntegration@EnableAutoConfigurationSpring中文文档

@GlobalChannelInterceptor

除了上面提到的注释外,我们还介绍了注释。 有关详细信息,请参阅注释支持@EnableIntegration@GlobalChannelInterceptorSpring中文文档

@IntegrationConverter

我们引入了注释作为组件的类似物。 有关详细信息,请参阅注释支持@IntegrationConverter<int:converter/>Spring中文文档

@EnablePublisher

我们添加了注释,以允许对注释进行规范。 有关详细信息,请参阅注释支持@EnablePublisherdefault-publisher-channel@PublisherSpring中文文档

Redis 通道消息存储

我们添加了一个 Redis,该 Redis 经过优化,可在支持持久性时使用。 有关更多信息,请参阅 Redis 通道消息存储库。MessageGroupStoreQueueChannelSpring中文文档

我们添加了一个 Redis 。 您可以使用它按优先级检索邮件。 有关更多信息,请参阅 Redis 通道消息存储库。ChannelPriorityMessageStoreSpring中文文档

MongodDB通道消息存储库

MongoDB 支持现在提供 ,这是一个特定于通道的实现。 使用 ,可以在元素中使用它来实现持久化消息的优先级轮询。 有关更多信息,请参阅 MongoDB 通道消息存储库。MongoDbChannelMessageStoreMessageStorepriorityEnabled = true<int:priority-queue>Spring中文文档

@EnableIntegrationMBeanExport

现在,您可以在类中启用带有注释的注释。 有关更多信息,请参见 MBean ExporterIntegrationMBeanExporter@EnableIntegrationMBeanExport@ConfigurationSpring中文文档

ChannelSecurityInterceptorFactoryBean

ChannelSecurityInterceptorFactoryBean现在支持为使用类的消息通道配置 Spring Security。 有关更多信息,请参阅 Spring Integration 中的安全性@ConfigurationSpring中文文档

Redis 命令网关

Redis 支持现在提供组件,以使用该方法执行通用 Redis 命令。 有关更多信息,请参阅 Redis 出站命令网关<outbound-gateway>RedisConnection#executeSpring中文文档

RedisLockRegistry

现在可用于支持对多个应用程序实例和服务器可见的全局锁。 它们可以与跨多个应用程序实例的聚合消息处理程序一起使用,以便仅在一个实例上进行组释放。 有关更多信息,请参阅 Redis Lock Registry and AggregatorRedisLockRegistrySpring中文文档

@Poller

基于注释的消息传递配置现在可以具有属性。 这意味着用 、 和类似批注批注的方法现在可以使用对 的引用。 有关详细信息,请参阅注释支持poller@ServiceActivator@AggregatorinputChannelPollableChannelSpring中文文档

@InboundChannelAdapter和带注释的端点SmartLifecycle

我们添加了方法注释。 它是 XML 组件的类似物。 此外,所有消息注释现在都提供了选项。 有关详细信息,请参阅注释支持@InboundChannelAdapter<int:inbound-channel-adapter>SmartLifecycleSpring中文文档

Twitter 搜索出站网关

我们添加了一个新的 twitter 端点:. 与每次使用相同搜索查询轮询的搜索入站适配器不同,出站网关允许按需自定义查询。 有关更多信息,请参阅 Spring Integration Social Twitter<int-twitter-search-outbound-gateway/>Spring中文文档

@BridgeFrom和注释@BridgeTo

我们引入了 和 方法注释来标记类中的 bean。 有关详细信息,请参阅注释支持@BridgeFrom@BridgeTo@BeanMessageChannel@ConfigurationSpring中文文档

元消息注释

消息传递注释(、、 等)现在可以配置为用户定义的消息传递注释的元注释。 此外,用户定义的批注可以具有相同的属性(、、 等)。 有关详细信息,请参阅注释支持@ServiceActivator@Router@MessagingGatewayinputChannel@PollerautoStartupSpring中文文档

一般更改

本节介绍从 3.0 版到 4.0 版的一般更改。Spring中文文档

需要Spring Framework 4.0

我们将核心消息传递抽象(、 等)移到了 Spring Framework 模块中。 直接在代码中引用这些类的开发人员需要进行更改,如 3.0 到 4.0 迁移指南的第一部分所述。MessageMessageChannelspring-messagingSpring中文文档

XPath 标头 Enricher 的标头类型

我们引入了 的 子元素的属性。 此属性提供标头值的目标类型(XPath 表达式计算结果将转换为该值)。 有关详细信息,请参阅 XPath 标头扩充器header-typeheader<int-xml:xpath-header-enricher>Spring中文文档

JSON 转换器的对象:节点结果

我们引入了 . 此属性为将对象映射到 JSON 的结果提供目标类型。 它支持(默认)和 . 有关更多信息,请参阅从版本 3.0 开始,Spring Integration 还提供了一个内置的 #xpath SpEL 函数,用于表达式。result-type<int:object-to-json-transformer>STRINGNODESpring中文文档

JMS 标头映射

现在将传入标头映射到 Spring Integration 标头。 以前,仅考虑用于出站消息。 有关更多信息,请参阅将消息头映射到 JMS 消息和从 JMS 消息映射消息。DefaultJmsHeaderMapperJMSPrioritypriorityprioritySpring中文文档

JMS 出站通道适配器

JMS 出站通道适配器现在支持该属性(缺省值:)。 以前,您必须注入自定义的才能使用事务。 请参阅出站通道适配器session-transactedfalseJmsTemplateSpring中文文档

JMS 入站通道适配器

JMS 入站通道适配器现在支持属性(缺省值:)。 以前,您必须注入自定义的才能使用事务。 适配器允许在 中“交易”,这是不正确的,不起作用。 不再允许此值。 请参阅入站通道适配器session-transactedfalseJmsTemplateacknowledgeModeSpring中文文档

数据类型通道

现在,您可以指定在将有效负载(如有必要)转换为数据类型通道中接受的实例之一时要使用的实例。 有关详细信息,请参阅数据类型通道配置MessageConverterdatatypeSpring中文文档

更简单的重试建议配置

我们添加了简化的命名空间支持,以配置 . 有关更多信息,请参阅配置重试建议RequestHandlerRetryAdviceSpring中文文档

关联端点:基于时间的发布策略

我们在 和 中添加了互斥 和 属性。 这些属性允许强制完成部分 ,前提是 不释放组,并且在指定的时间内没有进一步的消息到达。 有关更多信息,请参阅使用 XML 配置聚合器group-timeoutgroup-timeout-expression<int:aggregator><int:resequencer>MessageGroupReleaseStrategySpring中文文档

Redis 元数据存储

现在的实现 ,例如,在多个应用程序实例或服务器环境中的实现中使用它。 有关更多信息,请参阅 Redis 元数据存储读取文件FTP 入站通道适配器SFTP 入站通道适配器RedisMetadataStoreConcurrentMetadataStoreAbstractPersistentAcceptOnceFileListFilterSpring中文文档

JdbcChannelMessageStorePriorityChannel

T'JdbcChannelMessageStore' 现在实现 ,允许它用作实例的引用。 有关详细信息,请参阅支持消息通道PriorityCapableChannelMessageStoremessage-storepriority-queueSpring中文文档

AMQP 终结点交付模式

默认情况下,Spring AMQP 会在代理上创建持久性消息。 您可以通过设置标头或自定义映射器来覆盖此行为。 我们向适配器添加了一个方便的属性,以便更轻松地配置此重要设置。 有关详细信息,请参阅出站通道适配器出站网关amqp_deliveryModedefault-delivery-modeSpring中文文档

FTP 超时

现在公开了 、 和 属性,避免了对工厂进行子类化来设置这些公共属性的需要。 这些方法仍可用于更高级的配置。 有关详细信息,请参阅 FTP 会话工厂DefaultFtpSessionFactoryconnectTimeoutdefaultTimeoutdataTimeoutpostProcess*Spring中文文档

唽:StatusUpdatingMessageHandler

() 现在支持构建用于更新时间线状态的对象的属性。 例如,此功能允许附加图像。 有关更多信息,请参阅 Spring Integration Social TwitterStatusUpdatingMessageHandler<int-twitter:outbound-channel-adapter>tweet-data-expressionorg.springframework.social.twitter.api.TweetDataSpring中文文档

JPA 检索网关:id-expression

我们引入了 to perform 的属性。 有关详细信息,请参阅检索出站网关id-expression<int-jpa:retrieving-outbound-gateway>EntityManager.find(Class entityClass, Object primaryKey)Spring中文文档

TCP 反序列化事件

当其中一个标准反序列化程序在将输入流解码为消息时遇到问题时,它现在会发出一个 ,让应用程序在发生异常时检查数据。 有关详细信息,请参阅 TCP 连接事件TcpDeserializationExceptionEventSpring中文文档

对定义进行消息传递注释@Bean

现在,您可以在类中的定义上配置消息注释(、、 等)。 有关详细信息,请参阅注释支持@ServiceActivator@Router@InboundChannelAdapter@Bean@ConfigurationSpring中文文档