对于最新的稳定版本,请使用 Spring Integration 6.3.4spring-doc.cn

对于最新的稳定版本,请使用 Spring Integration 6.3.4spring-doc.cn

此组件定义基于 XPath 的消息过滤器。 在内部,这些组件使用包装 .MessageFilterAbstractXPathMessageSelectorspring-doc.cn

有关更多详细信息,请参阅筛选器
有关更多详细信息,请参阅筛选器

要使用 XPath 过滤器,您至少必须通过声明元素或在属性中引用 XPath 表达式来提供 XPath 表达式。xpath-expressionxpath-expression-refspring-doc.cn

如果提供的 XPath 表达式的计算结果为值,则不需要其他配置参数。 但是,如果 XPath 表达式的计算结果为 ,则应设置与计算结果匹配的属性。booleanStringmatch-valuespring-doc.cn

match-type有三个选项:spring-doc.cn

  • exact:对应于 on 。 底层实现使用equalsjava.lang.StringStringValueTestXPathMessageSelectorspring-doc.cn

  • case-insensitive:对应于 on 。 底层实现使用equals-ignore-casejava.lang.StringStringValueTestXPathMessageSelectorspring-doc.cn

  • regex:匹配操作 1 。 底层实现使用java.lang.StringRegexTestXPathMessageSelectorspring-doc.cn

当提供 'regex' 的 'match-type' 值时,与该属性一起提供的值必须是有效的正则表达式。match-valuespring-doc.cn

以下示例显示了该元素的所有可用属性:xpath-filterspring-doc.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 基础 Bean 定义的 ID。 自选。
3 此终端节点的接收消息通道。 自选。
4 要在 XPath 评估结果和 . 默认值为 . 自选。match-valueexact
5 要与 XPath 评估结果匹配的字符串值。 如果未设置此属性,则 XPath 计算必须生成布尔结果。 自选。
6 将匹配的邮件调度到的通道。 自选。
7 默认情况下,此属性设置为 ,并且被拒绝的消息(与过滤条件不匹配的消息)将被静默丢弃。 但是,如果设置为 ,则消息拒绝会导致错误情况,并将异常向上游传播到调用方。 自选。falsetrue
8 对要评估的 XPath 表达式实例的引用。
9 此子元素设置要计算的 XPath 表达式。 如果不包含此元素,则必须设置 该属性。 此外,您只能包含一个元素。xpath-expression-refxpath-expression
10 用于 XPath 过滤器的 Poller。 自选。
1 消息通道,您希望发送被拒绝的消息。 自选。
2 基础 Bean 定义的 ID。 自选。
3 此终端节点的接收消息通道。 自选。
4 要在 XPath 评估结果和 . 默认值为 . 自选。match-valueexact
5 要与 XPath 评估结果匹配的字符串值。 如果未设置此属性,则 XPath 计算必须生成布尔结果。 自选。
6 将匹配的邮件调度到的通道。 自选。
7 默认情况下,此属性设置为 ,并且被拒绝的消息(与过滤条件不匹配的消息)将被静默丢弃。 但是,如果设置为 ,则消息拒绝会导致错误情况,并将异常向上游传播到调用方。 自选。falsetrue
8 对要评估的 XPath 表达式实例的引用。
9 此子元素设置要计算的 XPath 表达式。 如果不包含此元素,则必须设置 该属性。 此外,您只能包含一个元素。xpath-expression-refxpath-expression
10 用于 XPath 过滤器的 Poller。 自选。