如需使用最新稳定版本,请使用 Spring Integration 7.0.4spring-doc.cadn.net.cn

概述

路由器在许多消息架构中是关键元素。 它们从一个消息通道消费消息,并根据一组条件将每个消费的消息转发到一个或多个不同的消息通道。spring-doc.cadn.net.cn

Spring Integration 提供了以下路由器:spring-doc.cadn.net.cn

路由实现共享许多配置参数。 然而,不同路由器之间存在一些差异。 此外,配置参数的可用性取决于路由器是在链内还是链外使用。 为了提供一个快速概览,所有可用属性在下面两个表格中列出。spring-doc.cadn.net.cn

以下表格显示了链外路由器可用的配置参数:spring-doc.cadn.net.cn

表 1. 链外路由器
属性 路由器 Header Value Router xpath 路由 payload type router 收件人列表路由 异常类型路由器

apply-sequencespring-doc.cadn.net.cn

tickmark
tickmark
tickmark
tickmark
tickmark
tickmark

default-output-channelspring-doc.cadn.net.cn

tickmark
tickmark
tickmark
tickmark
tickmark
tickmark

resolution-requiredspring-doc.cadn.net.cn

tickmark
tickmark
tickmark
tickmark
tickmark
tickmark

ignore-send-failuresspring-doc.cadn.net.cn

tickmark
tickmark
tickmark
tickmark
tickmark
tickmark

timeoutspring-doc.cadn.net.cn

tickmark
tickmark
tickmark
tickmark
tickmark
tickmark

idspring-doc.cadn.net.cn

tickmark
tickmark
tickmark
tickmark
tickmark
tickmark

auto-startupspring-doc.cadn.net.cn

tickmark
tickmark
tickmark
tickmark
tickmark
tickmark

input-channelspring-doc.cadn.net.cn

tickmark
tickmark
tickmark
tickmark
tickmark
tickmark

订单spring-doc.cadn.net.cn

tickmark
tickmark
tickmark
tickmark
tickmark
tickmark

方法spring-doc.cadn.net.cn

tickmark

refspring-doc.cadn.net.cn

tickmark

表达式spring-doc.cadn.net.cn

tickmark

header-namespring-doc.cadn.net.cn

tickmark

evaluate-as-stringspring-doc.cadn.net.cn

tickmark

xpath-expression-refspring-doc.cadn.net.cn

tickmark

转换器spring-doc.cadn.net.cn

tickmark

以下表格显示了链内部路由器可用的配置参数:spring-doc.cadn.net.cn

表 2. 链内的路由器
属性 路由器 Header Value Router xpath 路由 payload type router 受件人列表路由 异常类型路由器

apply-sequencespring-doc.cadn.net.cn

tickmark
tickmark
tickmark
tickmark
tickmark
tickmark

default-output-channelspring-doc.cadn.net.cn

tickmark
tickmark
tickmark
tickmark
tickmark
tickmark

resolution-requiredspring-doc.cadn.net.cn

tickmark
tickmark
tickmark
tickmark
tickmark
tickmark

ignore-send-failuresspring-doc.cadn.net.cn

tickmark
tickmark
tickmark
tickmark
tickmark
tickmark

timeoutspring-doc.cadn.net.cn

tickmark
tickmark
tickmark
tickmark
tickmark
tickmark

idspring-doc.cadn.net.cn

auto-startupspring-doc.cadn.net.cn

input-channelspring-doc.cadn.net.cn

订单spring-doc.cadn.net.cn

方法spring-doc.cadn.net.cn

tickmark

refspring-doc.cadn.net.cn

tickmark

表达式spring-doc.cadn.net.cn

tickmark

header-namespring-doc.cadn.net.cn

tickmark

evaluate-as-stringspring-doc.cadn.net.cn

tickmark

xpath-expression-refspring-doc.cadn.net.cn

tickmark

转换器spring-doc.cadn.net.cn

tickmark

自 Spring Integration 2.1 版本起,所有路由器实现的路由器参数已更加标准化。 因此,一些微小的更改可能会破坏基于旧版 Spring Integration 的应用程序。spring-doc.cadn.net.cn

自从 Spring Integration 2.1 版本起,ignore-channel-name-resolution-failures 属性被移除,其行为现在与 resolution-required 属性合并。 此外,resolution-required 属性现在默认值为 truespring-doc.cadn.net.cn

在这些更改之前,resolution-required 属性默认为 false,当没有解析的通道且未设置 default-output-channel 时,消息会无声地被丢弃。 新的行为要求至少有一个已解析的通道,并且默认情况下如果未确定任何通道(或发送尝试不成功),则会抛出一个 MessageDeliveryException 异常。spring-doc.cadn.net.cn

如果确实希望静默丢弃消息,可以设置default-output-channel="nullChannel"spring-doc.cadn.net.cn