|
该版本仍在开发中,尚未被视为稳定。对于最新的稳定版本,请使用 Spring Integration 7.0.0! |
使用 XPath 过滤器
该组件定义了基于XPath的消息过滤器。
在内部,这些组件使用一个消息过滤该实例包裹了抽象XPathMessageSelector.
| 详情请参见筛选。 |
要使用 XPath 过滤器,至少必须通过声明xpath表达式或通过引用 XPath 表达式xpath-expression-ref属性。
如果提供的XPath表达式应值为布尔值,无需额外的配置参数。
然而,如果XPath表达式取值为字符串,你应该设置匹配值属性,以该属性进行匹配。
比赛类型有三种选择:
-
确切:对应等于上java.lang.字符串. 底层实现使用StringValueTestXPathMessageSelector -
大小写不区分:对应等于无视情况上java.lang.字符串. 底层实现使用StringValueTestXPathMessageSelector -
正则表达式: 配对作一java.lang.字符串. 底层实现使用正规测试XPathMessageSelector
当提供“匹配类型”值的“正则表达式”时,提供的值是匹配值属性必须是有效的正则表达式。
以下示例展示了所有可用的属性xpathFilter元素:
<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 | 底层豆子定义的ID。 自选。 |
| 3 | 该端点的接收消息信道。 自选。 |
| 4 | XPath评估结果与匹配值.
默认为确切.
自选。 |
| 5 | 字符串值将与XPath评估结果匹配。 如果你没有设置该属性,XPath 的评估必须得到一个布尔结果。 自选。 |
| 6 | 匹配过滤条件的消息被调度到的信道。 自选。 |
| 7 | 默认情况下,该属性设置为false拒绝的消息(不符合过滤条件)则会被静默丢弃。
然而,如果设置为true消息拒绝会导致错误状态,异常会被上游传播到呼叫者。
自选。 |
| 8 | 引用 XPath 表达式实例进行评估。 |
| 9 | 该子元素将 XPath 表达式设置为被评估。
如果不包含该元素,必须设置xpath-expression-ref属性。
另外,你只能包含一个xpath表达式元素。 |
| 10 | 一个用于XPath过滤器的轮询器。 自选。 |