此组件定义基于 XPath 的消息筛选器。
在内部,这些组件使用 包装 的实例。MessageFilter
AbstractXPathMessageSelector
有关详细信息,请参阅筛选器。 |
有关详细信息,请参阅筛选器。 |
若要使用 XPath 筛选器,必须至少通过声明元素或在属性中引用 XPath 表达式来提供 XPath 表达式。xpath-expression
xpath-expression-ref
如果提供的 XPath 表达式的计算结果为某个值,则不需要其他配置参数。
但是,如果 XPath 表达式的计算结果为 ,则应设置计算结果与之匹配的属性。boolean
String
match-value
match-type
有三个选项:
-
exact
:对应于 on 。 底层实现使用equals
java.lang.String
StringValueTestXPathMessageSelector
-
case-insensitive
:对应于 on 。 底层实现使用equals-ignore-case
java.lang.String
StringValueTestXPathMessageSelector
-
regex
:匹配操作 1 。 底层实现使用java.lang.String
RegexTestXPathMessageSelector
当提供“regex”的“match-type”值时,随属性提供的值必须是有效的正则表达式。match-value
下面的示例显示了该元素的所有可用属性:xpath-filter
<int-xml:xpath-filter discard-channel="" (1)
id="" (2)
input-channel="" (3)
match-type="exact" (4)
match-value="" (5)
output-channel="" (6)
throw-exception-on-rejection="false" (7)
xpath-expression-ref=""> (8)
<int-xml:xpath-expression ... /> (9)
<int:poller ... /> (10)
</int-xml:xpath-filter>
1 | 要发送被拒绝邮件的消息通道。 自选。 |
2 | 基础 Bean 定义的 ID。 自选。 |
3 | 此端点的接收消息通道。 自选。 |
4 | 要在 XPath 评估结果和 .
默认值为 。
自选。match-value exact |
5 | 要与 XPath 评估结果匹配的字符串值。 如果未设置此属性,则 XPath 计算必须生成布尔值结果。 自选。 |
6 | 将符合筛选条件的邮件发送到的通道。 自选。 |
7 | 默认情况下,此属性设置为 并且拒绝的邮件(与筛选条件不匹配的邮件)将以静默方式删除。
但是,如果设置为 ,则消息拒绝会导致错误情况和异常向上游传播到调用方。
自选。false true |
8 | 引用要计算的 XPath 表达式实例。 |
9 | 此子元素设置要计算的 XPath 表达式。
如果不包含此元素,则必须设置该属性。
此外,您只能包含一个元素。xpath-expression-ref xpath-expression |
10 | 用于 XPath 筛选器的轮询器。 自选。 |
1 | 要发送被拒绝邮件的消息通道。 自选。 |
2 | 基础 Bean 定义的 ID。 自选。 |
3 | 此端点的接收消息通道。 自选。 |
4 | 要在 XPath 评估结果和 .
默认值为 。
自选。match-value exact |
5 | 要与 XPath 评估结果匹配的字符串值。 如果未设置此属性,则 XPath 计算必须生成布尔值结果。 自选。 |
6 | 将符合筛选条件的邮件发送到的通道。 自选。 |
7 | 默认情况下,此属性设置为 并且拒绝的邮件(与筛选条件不匹配的邮件)将以静默方式删除。
但是,如果设置为 ,则消息拒绝会导致错误情况和异常向上游传播到调用方。
自选。false true |
8 | 引用要计算的 XPath 表达式实例。 |
9 | 此子元素设置要计算的 XPath 表达式。
如果不包含此元素,则必须设置该属性。
此外,您只能包含一个元素。xpath-expression-ref xpath-expression |
10 | 用于 XPath 筛选器的轮询器。 自选。 |