此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Integration 6.3.4! |
此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Integration 6.3.4! |
新组件
版本 4.0 添加了许多新组件。
MQTT 通道适配器
MQTT 通道适配器(以前在 Spring Integration Extensions 存储库中提供)现在作为常规 Spring Integration 发行版的一部分提供。 请参阅 MQTT 支持。
@EnableIntegration
我们添加了 Comments,以允许在使用类时声明标准 Spring Integration bean。
有关更多信息,请参阅 Annotation Support 。@EnableIntegration
@Configuration
@IntegrationComponentScan
我们添加了 Comments 以允许对 Spring 集成特定的组件进行 Classpath 扫描。
有关更多信息,请参阅 Annotation Support 。@IntegrationComponentScan
“@EnableMessageHistory”
现在,您可以在类中使用 annotation 启用消息历史记录。
此外,JMX MBean 还可以修改消息历史记录设置。
此外,还可以跟踪带注释的终端节点(例如 、 等)的自动创建实例。
有关更多信息,请参阅消息历史记录。@EnableMessageHistory
@Configuration
MessageHistory
MessageHandler
@ServiceActivator
@Splitter
@MessagingGateway
现在,您可以使用注释配置 Messaging Gateway 接口。
它是 XML 元素的类似物。
有关更多信息,请参见@MessagingGateway
注释。@MessagingGateway
<int:gateway/>
Spring Boot@EnableAutoConfiguration
除了前面提到的 Comments 之外,我们还引入了一个 hook,允许使用 Spring Boot 的 Comments 配置 Spring 集成基础设施 bean。
有关详细信息,请参阅 Spring Boot 参考指南中的“自动配置”。@EnableIntegration
@EnableAutoConfiguration
@GlobalChannelInterceptor
除了上面提到的 annotation 之外,我们还引入了 annotation。
有关更多信息,请参阅注释支持。@EnableIntegration
@GlobalChannelInterceptor
@IntegrationConverter
我们引入了 annotation 作为组件的类似物。
有关更多信息,请参阅注释支持。@IntegrationConverter
<int:converter/>
@EnablePublisher
我们添加了 annotation 以允许规范 for annotations。
有关更多信息,请参阅 Annotation Support 。@EnablePublisher
default-publisher-channel
@Publisher
Redis 通道消息存储
我们添加了一个 Redis,该 Redis 经过优化,可在支持持久性时使用。
有关更多信息,请参阅 Redis 通道消息存储。MessageGroupStore
QueueChannel
我们添加了一个 Redis .
您可以使用它来按优先级检索消息。
有关更多信息,请参阅 Redis 通道消息存储。ChannelPriorityMessageStore
MongodDB Channel 消息存储
MongoDB 支持现在提供 ,这是特定于通道的实现。
使用 ,您可以在元素中使用它来实现持久消息的优先级顺序轮询。
有关更多信息,请参阅 MongoDB 通道消息存储。MongoDbChannelMessageStore
MessageStore
priorityEnabled = true
<int:priority-queue>
@EnableIntegrationMBeanExport
现在,您可以在类中启用 with the annotation。
有关更多信息,请参阅 MBean 导出器。IntegrationMBeanExporter
@EnableIntegrationMBeanExport
@Configuration
ChannelSecurityInterceptorFactoryBean
ChannelSecurityInterceptorFactoryBean
现在支持为使用类的消息通道配置 Spring Security。
有关更多信息,请参阅 Spring Integration 中的安全性。@Configuration
Redis 命令网关
Redis 支持现在提供了使用该方法执行通用 Redis 命令的组件。
有关更多信息,请参阅 Redis 出站命令网关。<outbound-gateway>
RedisConnection#execute
RedisLockRegistry
现在,它可用于支持对多个应用程序实例和服务器可见的全局锁定。
这些可用于跨多个应用程序实例聚合消息处理程序,以便仅在一个实例上发生组发布。
有关更多信息,请参阅 Redis Lock Registry and Aggregator。RedisLockRegistry
@Poller
基于 Annotation 的消息收发配置现在可以具有属性。
这意味着用 、 和类似注释注释的方法现在可以使用对 .
有关更多信息,请参阅注释支持。poller
@ServiceActivator
@Aggregator
inputChannel
PollableChannel
@InboundChannelAdapter
以及带注释的端点SmartLifecycle
我们添加了 method 注解。
它是 XML 组件的类似物。
此外,所有消息收发注释现在都提供选项。
有关更多信息,请参阅注释支持。@InboundChannelAdapter
<int:inbound-channel-adapter>
SmartLifecycle
Twitter 搜索出站网关
我们添加了一个新的 Twitter 端点:.
与每次都使用相同的搜索查询进行轮询的搜索入站适配器不同,出站网关允许按需自定义查询。
有关更多信息,请参阅 Spring Integration Social Twitter。<int-twitter-search-outbound-gateway/>
@BridgeFrom
和 Annotations@BridgeTo
我们引入了 和 方法注解来标记类中的 bean。
有关更多信息,请参阅注释支持。@BridgeFrom
@BridgeTo
@Bean
MessageChannel
@Configuration
元消息注释
消息收发注释(、、 、 和其他注释)现在可以配置为用户定义的消息收发注释的元注释。
此外,用户定义的注释可以具有相同的属性 (、 、 和其他)。
有关更多信息,请参阅注释支持。@ServiceActivator
@Router
@MessagingGateway
inputChannel
@Poller
autoStartup
一般更改
本节介绍从版本 3.0 到版本 4.0 的一般更改。
需要 Spring Framework 4.0
我们将核心消息传递抽象(、 和其他)移动到 Spring Framework 模块。
在代码中直接引用这些类的开发人员需要进行更改,如 3.0 到 4.0 迁移指南的第一部分所述。Message
MessageChannel
spring-messaging
XPath Header Enricher 的 Header Type
我们引入了 .
此属性提供 header 值的目标类型(XPath 表达式评估的结果将转换为该类型)。
有关更多信息,请参阅 XPath Header Enricher。header-type
header
<int-xml:xpath-header-enricher>
对象到 JSON 转换器:节点结果
我们引入了 .
此属性为将对象映射到 JSON 的结果提供目标类型。
它支持 (默认) 和 .
有关更多信息,请参阅从 3.0 版本开始, Spring 集成还提供了内置的 #xpath
SPEL 函数,用于表达式。result-type
<int:object-to-json-transformer>
STRING
NODE
JMS 标头映射
现在将传入的 Headers 映射到 Spring Integration Headers。
以前,仅考虑用于出站邮件。
有关更多信息,请参阅将消息标头映射到 JMS 消息和从 JMS 消息映射消息。DefaultJmsHeaderMapper
JMSPriority
priority
priority
JMS 出站通道适配器
JMS 出站通道适配器现在支持属性 (default: )。
以前,您必须注入自定义的 transaction 才能使用。
请参见出站通道适配器。session-transacted
false
JmsTemplate
JMS 入站通道适配器
JMS 入站通道适配器现在支持属性 (default: )。
以前,您必须注入自定义的 transaction 才能使用。
适配器允许在 中执行“transacted”,这是不正确的,因此无法正常工作。
不再允许此值。
请参见入站通道适配器。session-transacted
false
JmsTemplate
acknowledgeMode
数据类型通道
现在,您可以指定在将 payloads(如有必要)转换为 Datatype 通道中接受的实例之一时使用。
有关更多信息,请参阅数据类型通道配置。MessageConverter
datatype
更简单的 Retry Advice 配置
我们添加了简化的命名空间支持来配置 .
有关更多信息,请参阅配置重试建议。RequestHandlerRetryAdvice
关联终端节点:基于时间的发布策略
我们向 和 添加了互斥的 and 属性。
这些属性允许强制完成 partial ,前提是 不会释放组,并且在指定的时间内没有其他消息到达。
有关更多信息,请参阅使用 XML 配置聚合器。group-timeout
group-timeout-expression
<int:aggregator>
<int:resequencer>
MessageGroup
ReleaseStrategy
Redis 元数据存储
现在实现 ,使其在多应用程序实例或服务器环境中的实现中使用。
有关更多信息,请参阅 Redis 元数据存储、读取文件、FTP 入站通道适配器和 SFTP 入站通道适配器。RedisMetadataStore
ConcurrentMetadataStore
AbstractPersistentAcceptOnceFileListFilter
JdbcChannelMessageStore
和PriorityChannel
T'JdbcChannelMessageStore' 现在实现了 ,让它用作实例的引用。
有关更多信息,请参阅支持消息通道。PriorityCapableChannelMessageStore
message-store
priority-queue
FTP 超时
现在公开了 , , 和 属性,避免了对工厂进行子类化来设置这些公共属性的需要。
这些方法仍可用于更高级的配置。
有关更多信息,请参阅 FTP Session Factory 。DefaultFtpSessionFactory
connectTimeout
defaultTimeout
dataTimeout
postProcess*
唽:StatusUpdatingMessageHandler
() 现在支持使用该属性来构建用于更新时间轴状态的对象。
例如,此功能允许附加图像。
有关更多信息,请参见 Spring Integration Social Twitter。StatusUpdatingMessageHandler
<int-twitter:outbound-channel-adapter>
tweet-data-expression
org.springframework.social.twitter.api.TweetData
JPA 检索网关:id-expression
我们引入了 to perform 的属性。
有关更多信息,请参阅检索出站网关。id-expression
<int-jpa:retrieving-outbound-gateway>
EntityManager.find(Class entityClass, Object primaryKey)
TCP 反序列化事件
当其中一个标准反序列化器在将输入流解码为消息时遇到问题时,它现在会发出一个 ,让应用程序检查发生异常时的数据。
有关更多信息,请参阅 TCP 连接事件。TcpDeserializationExceptionEvent
定义上的消息注释@Bean
现在,您可以在类中的定义上配置消息注释(、、 、 和其他)。
有关更多信息,请参阅注释支持。@ServiceActivator
@Router
@InboundChannelAdapter
@Bean
@Configuration