路由器是许多消息传递体系结构中的关键元素。 它们使用来自消息通道的消息,并根据一组条件将每个使用的消息转发到一个或多个不同的消息通道。
Spring Integration 提供以下路由器:
路由器实现共享许多配置参数。 但是,路由器之间存在某些差异。 此外,配置参数的可用性取决于路由器是在链内还是链外使用。 为了提供快速概述,所有可用的属性都列在下表中。
下表显示了可用于链外部路由器的配置参数:
属性 | 路由器 | 标头值路由器 | XPath路由器 | 有效负载类型路由器 | 收件人列表路由 | 异常类型路由器 |
---|---|---|---|---|---|---|
apply-序列 |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
默认输出通道 |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
需要分辨率 |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
ignore-send-failures |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
超时 |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
同上 |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
自动启动 |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
输入通道 |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
次序 |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
方法 |
![]() |
|||||
裁判 |
![]() |
|||||
表达 |
![]() |
|||||
标头名称 |
![]() |
|||||
计算为字符串 |
![]() |
|||||
xpath-表达式-ref |
![]() |
|||||
转炉 |
![]() |
下表显示了链中路由器可用的配置参数:
属性 | 路由器 | 标头值路由器 | XPath路由器 | 有效负载类型路由器 | 收件人列表路由器 | 异常类型路由器 |
---|---|---|---|---|---|---|
apply-序列 |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
默认输出通道 |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
需要分辨率 |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
ignore-send-failures |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
超时 |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
同上 |
||||||
自动启动 |
||||||
输入通道 |
||||||
次序 |
||||||
方法 |
![]() |
|||||
裁判 |
![]() |
|||||
表达 |
![]() |
|||||
标头名称 |
![]() |
|||||
计算为字符串 |
![]() |
|||||
xpath-表达式-ref |
![]() |
|||||
转炉 |
![]() |
从Spring Integration 2.1开始,所有路由器实现的路由器参数都更加标准化。 因此,一些小的更改可能会破坏旧的基于 Spring Integration 的应用程序。 从 Spring Integration 2.1 开始,该属性被删除,以支持将其行为与该属性合并。
此外,该属性现在默认为 。 在这些更改之前,该属性默认为 ,导致在未解析通道且未设置任何通道时以静默方式丢弃消息。
新行为至少需要一个已解析的通道,默认情况下,如果未确定通道(或尝试发送不成功),则会抛出 。 如果您确实希望静默丢弃消息,可以设置 . |
从Spring Integration 2.1开始,所有路由器实现的路由器参数都更加标准化。 因此,一些小的更改可能会破坏旧的基于 Spring Integration 的应用程序。 从 Spring Integration 2.1 开始,该属性被删除,以支持将其行为与该属性合并。
此外,该属性现在默认为 。 在这些更改之前,该属性默认为 ,导致在未解析通道且未设置任何通道时以静默方式丢弃消息。
新行为至少需要一个已解析的通道,默认情况下,如果未确定通道(或尝试发送不成功),则会抛出 。 如果您确实希望静默丢弃消息,可以设置 . |