跳到主要内容

概述

QWen Plus 中英对照 Overview

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

Spring Integration 提供了以下路由器:

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

下表显示了链外路由器可用的配置参数:

表 1. 链外路由器

属性路由器header 值 路由器XPath 路由器有效负载类型 路由器收件人列表路由异常类型 路由器
apply-sequencetickmarktickmarktickmarktickmarktickmarktickmark
默认输出通道tickmarktickmarktickmarktickmarktickmarktickmark
resolution-requiredtickmarktickmarktickmarktickmarktickmarktickmark
忽略-发送-失败tickmarktickmarktickmarktickmarktickmarktickmark
超时tickmarktickmarktickmarktickmarktickmarktickmark
idtickmarktickmarktickmarktickmarktickmarktickmark
自动启动tickmarktickmarktickmarktickmarktickmarktickmark
输入通道tickmarktickmarktickmarktickmarktickmarktickmark
订单tickmarktickmarktickmarktickmarktickmarktickmark
方法tickmark
reftickmark
表达式tickmark
header-nametickmark
evaluate-as-stringtickmark
xpath 表达式引用tickmark
转换器tickmark

下表显示了链中路由器可用的配置参数:

表 2. 链中的路由器

属性路由器header 值 路由器xpath 路由器有效负载类型 路由器收件人列表路由器异常类型 路由器
apply-sequencetickmarktickmarktickmarktickmarktickmarktickmark
默认输出通道tickmarktickmarktickmarktickmarktickmarktickmark
resolution-requiredtickmarktickmarktickmarktickmarktickmarktickmark
忽略-发送-失败tickmarktickmarktickmarktickmarktickmarktickmark
超时tickmarktickmarktickmarktickmarktickmarktickmark
id
自动启动
输入通道
订单
方法tickmark
引用tickmark
表达式tickmark
header-nametickmark
评估为字符串tickmark
xpath 表达式引用tickmark
转换器tickmark
important

从 Spring Integration 2.1 开始,路由器参数在所有路由器实现中变得更加标准化。因此,一些小的更改可能会破坏基于较旧 Spring Integration 的应用程序。

自 Spring Integration 2.1 起,ignore-channel-name-resolution-failures 属性已被移除,其行为已整合到 resolution-required 属性中。此外,resolution-required 属性现在默认为 true

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

如果您确实希望静默丢弃消息,可以设置 default-output-channel="nullChannel"