对于最新的稳定版本,请使用 Spring Integration 6.5.1spring-doc.cadn.net.cn

3.0 和 4.0 之间的更改

请参阅迁移指南,了解可能影响应用程序的重要更改。 您可以在 wiki 上找到所有版本返回 2.1 的迁移指南。spring-doc.cadn.net.cn

新组件

4.0 版添加了许多新组件。spring-doc.cadn.net.cn

MQTT 通道适配器

MQTT 通道适配器(以前在 Spring Integration Extensions 存储库中可用)现在作为正常 Spring Integration 发行版的一部分提供。 请参阅 MQTT 支持spring-doc.cadn.net.cn

@EnableIntegration

我们添加了@EnableIntegration注释以允许在使用@Configuration类。 有关更多信息,请参阅注释支持spring-doc.cadn.net.cn

@IntegrationComponentScan

我们添加了@IntegrationComponentScan注释,以允许对特定于 Spring Integration 的组件进行类路径扫描。 有关更多信息,请参阅注释支持spring-doc.cadn.net.cn

“@EnableMessageHistory”

您现在可以使用@EnableMessageHistory注释@Configuration类。 此外,JMX MBean 可以修改消息历史记录设置。 也MessageHistory可以跟踪自动创建的MessageHandler带注释的端点的实例(例如@ServiceActivator,@Splitter等)。 有关详细信息,请参阅消息历史记录spring-doc.cadn.net.cn

@MessagingGateway

您现在可以使用@MessagingGateway注解。 它是<int:gateway/>XML 元素。 有关更多信息,请参阅@MessagingGateway注解.spring-doc.cadn.net.cn

弹簧靴@EnableAutoConfiguration

以及@EnableIntegration注释之前提到的,我们引入了一个钩子,允许使用 Spring Boot 的@EnableAutoConfiguration注解。 有关更多信息,请参阅 Spring Boot 参考指南中的“自动配置”spring-doc.cadn.net.cn

@GlobalChannelInterceptor

以及@EnableIntegration上面提到的注释,我们引入了@GlobalChannelInterceptor注解。 有关详细信息,请参阅注释支持spring-doc.cadn.net.cn

@IntegrationConverter

我们引入了@IntegrationConverter注释作为<int:converter/>元件。 有关详细信息,请参阅注释支持spring-doc.cadn.net.cn

@EnablePublisher

我们添加了@EnablePublisher注释以允许指定default-publisher-channel@Publisher附注。 有关更多信息,请参阅注释支持spring-doc.cadn.net.cn

Redis 通道消息存储

我们添加了一个 RedisMessageGroupStore针对支持QueueChannel为了坚持。 有关更多信息,请参阅 Redis 通道消息存储spring-doc.cadn.net.cn

我们添加了一个 RedisChannelPriorityMessageStore. 您可以使用它按优先级检索消息。 有关更多信息,请参阅 Redis 通道消息存储spring-doc.cadn.net.cn

MongodDB 通道消息存储

MongoDB 支持现在提供MongoDbChannelMessageStore,这是特定于通道的MessageStore实现。 跟priorityEnabled = true,您可以在<int:priority-queue>元素来实现持久化消息的优先级顺序轮询。 有关更多信息,请参阅 MongoDB 通道消息存储spring-doc.cadn.net.cn

@EnableIntegrationMBeanExport

您现在可以启用IntegrationMBeanExporter使用@EnableIntegrationMBeanExport注释@Configuration类。 有关更多信息,请参阅 MBean 导出器spring-doc.cadn.net.cn

ChannelSecurityInterceptorFactoryBean

ChannelSecurityInterceptorFactoryBean现在支持为使用@Configuration类。 有关更多信息,请参阅 Spring Integration 中的安全性spring-doc.cadn.net.cn

Redis 命令网关

Redis 支持现在提供<outbound-gateway>组件,使用RedisConnection#execute方法。 更多信息,请参见Redis出站命令网关spring-doc.cadn.net.cn

RedisLockRegistry

RedisLockRegistry现在可用于支持对多个应用程序实例和服务器可见的全局锁。 这些可以与跨多个应用程序实例聚合消息处理程序一起使用,以便组释放仅发生在一个实例上。 有关详细信息,请参阅 Redis 锁注册表聚合器spring-doc.cadn.net.cn

@Poller

基于注释的消息传递配置现在可以有一个poller属性。 这意味着用@ServiceActivator,@Aggregator,类似的注释现在可以使用inputChannel这是对PollableChannel. 有关详细信息,请参阅注释支持spring-doc.cadn.net.cn

@InboundChannelAdapterSmartLifecycle用于带注释的端点

我们添加了@InboundChannelAdapter方法注释。 它是<int:inbound-channel-adapter>XML 组件。 此外,所有消息传递注释现在都提供SmartLifecycle选项。 有关详细信息,请参阅注释支持spring-doc.cadn.net.cn

Twitter 搜索出站网关

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

@BridgeFrom@BridgeTo附注

我们推出了@BridgeFrom@BridgeTo @Bean要标记的方法注释MessageChannel豆子在@Configuration类。 有关详细信息,请参阅注释支持spring-doc.cadn.net.cn

元消息注释

消息传递注释 (@ServiceActivator,@Router,@MessagingGateway等)现在可以配置为用户定义消息传递注释的元注释。 此外,用户定义的注释可以具有相同的属性 (inputChannel,@Poller,autoStartup等)。 有关详细信息,请参阅注释支持spring-doc.cadn.net.cn

一般更改

本节介绍从 3.0 版到 4.0 版的一般更改。spring-doc.cadn.net.cn

需要 Spring Framework 4.0

我们移动了核心消息抽象(Message,MessageChannel等)添加到 Spring Frameworkspring-messaging模块。 直接在其代码中引用这些类的开发人员需要进行更改,如 3.0 到 4.0 迁移指南的第一部分中所述。spring-doc.cadn.net.cn

XPath 标头扩充器的标头类型

我们引入了header-type属性的headerchild 元素的<int-xml:xpath-header-enricher>. 此属性提供标头值的目标类型(XPath 表达式计算结果将转换为标头值)。 有关详细信息,请参阅 XPath 标头扩充器spring-doc.cadn.net.cn

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

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

JMS 标头映射

DefaultJmsHeaderMapper现在映射传入的JMSPrioritySpring Integration 的标头priority页眉。 以前priority仅考虑出站消息。 有关详细信息,请参阅将消息头映射到 JMS 消息或映射 JMS 消息spring-doc.cadn.net.cn

JMS 出站通道适配器

JMS 出站通道适配器现在支持session-transacted属性(默认:false). 以前,您必须注入自定义的JmsTemplate使用事务。 请参阅出站通道适配器spring-doc.cadn.net.cn

JMS 入站通道适配器

JMS 入站通道适配器现在支持session-transacted属性(默认:false). 以前,您必须注入自定义的JmsTemplate使用事务。 适配器允许在acknowledgeMode,这是不正确的并且不起作用。 不再允许此值。 请参阅入站通道适配器spring-doc.cadn.net.cn

数据类型通道

您现在可以指定一个MessageConverter在将有效负载(如有必要)转换为可接受的负载之一时使用datatype实例。 有关详细信息,请参阅数据类型通道配置spring-doc.cadn.net.cn

更简单的重试建议配置

我们添加了简化的命名空间支持,以配置RequestHandlerRetryAdvice. 有关详细信息,请参阅配置重试建议spring-doc.cadn.net.cn

相关性终结点:基于时间的发布策略

我们添加了互斥的group-timeoutgroup-timeout-expression属性设置为<int:aggregator><int:resequencer>. 这些属性允许强制完成部分MessageGroup,前提是ReleaseStrategy不会释放组,并且在指定的时间内没有进一步的消息到达。 有关详细信息,请参阅使用 XML 配置聚合器spring-doc.cadn.net.cn

Redis 元数据存储

RedisMetadataStore现在实现ConcurrentMetadataStore,让它在AbstractPersistentAcceptOnceFileListFilter在多应用程序实例或服务器环境中实现。 有关详细信息,请参阅 Redis 元数据存储读取文件FTP 入站通道适配器SFTP 入站通道适配器spring-doc.cadn.net.cn

JdbcChannelMessageStorePriorityChannel

T'JdbcChannelMessageStore' 现在实现PriorityCapableChannelMessageStore,让它用作message-store参考priority-queue实例。 有关详细信息,请参阅支持消息通道spring-doc.cadn.net.cn

AMQP 端点交付模式

默认情况下,Spring AMQP 在代理上创建持久消息。 您可以通过将amqp_deliveryMode标头或自定义映射器。 我们添加了一个方便的default-delivery-mode属性添加到适配器,以便更轻松地配置此重要设置。 有关详细信息,请参阅出站通道适配器出站网关spring-doc.cadn.net.cn

FTP 超时

DefaultFtpSessionFactory现在公开connectTimeout,defaultTimeoutdataTimeout属性,避免了对工厂进行子类化来设置这些公共属性。 这postProcess*方法仍然可用于更高级的配置。 有关更多信息,请参阅 FTP 会话工厂。spring-doc.cadn.net.cn

唽:StatusUpdatingMessageHandler

StatusUpdatingMessageHandler (<int-twitter:outbound-channel-adapter>) 现在支持tweet-data-expression属性来构建一个org.springframework.social.twitter.api.TweetData对象,用于更新时间轴状态。 例如,此功能允许附加图像。 有关更多信息,请参阅 Spring Integration Social Twitterspring-doc.cadn.net.cn

JPA 检索网关:id-expression

我们引入了id-expression属性<int-jpa:retrieving-outbound-gateway>执行EntityManager.find(Class entityClass, Object primaryKey). 有关详细信息,请参阅检索出站网关spring-doc.cadn.net.cn

TCP 反序列化事件

当其中一个标准反序列化程序在将输入流解码为消息时遇到问题时,它现在会发出TcpDeserializationExceptionEvent,允许应用程序检查发生异常时的数据。 有关详细信息,请参阅 TCP 连接事件spring-doc.cadn.net.cn

消息传递注释@Bean定义

您现在可以配置消息传递注释 (@ServiceActivator,@Router,@InboundChannelAdapter等)@Bean中的定义@Configuration类。 有关详细信息,请参阅注释支持spring-doc.cadn.net.cn