该版本仍在开发中,尚未被视为稳定。对于最新的稳定版本,请使用 Spring Integration 7.0.0spring-doc.cadn.net.cn

使用 XPath 过滤器

该组件定义了基于XPath的消息过滤器。 在内部,这些组件使用一个消息过滤该实例包裹了抽象XPathMessageSelector.spring-doc.cadn.net.cn

详情请参见筛选

要使用 XPath 过滤器,至少必须通过声明xpath表达式或通过引用 XPath 表达式xpath-expression-ref属性。spring-doc.cadn.net.cn

如果提供的XPath表达式应值为布尔值,无需额外的配置参数。 然而,如果XPath表达式取值为字符串,你应该设置匹配值属性,以该属性进行匹配。spring-doc.cadn.net.cn

比赛类型有三种选择:spring-doc.cadn.net.cn

  • 确切:对应等于java.lang.字符串. 底层实现使用StringValueTestXPathMessageSelectorspring-doc.cadn.net.cn

  • 大小写不区分:对应等于无视情况java.lang.字符串. 底层实现使用StringValueTestXPathMessageSelectorspring-doc.cadn.net.cn

  • 正则表达式: 配对作一java.lang.字符串. 底层实现使用正规测试XPathMessageSelectorspring-doc.cadn.net.cn

当提供“匹配类型”值的“正则表达式”时,提供的值是匹配值属性必须是有效的正则表达式。spring-doc.cadn.net.cn

以下示例展示了所有可用的属性xpathFilter元素:spring-doc.cadn.net.cn

<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过滤器的轮询器。 自选。