XPath 消息头丰富器

XPath 消息头丰富器定义了一个消息头丰富器消息转换器,它根据消息负载评估 XPath 表达式,并将评估结果插入到消息头中。

以下清单显示了所有可用的配置参数:

<int-xml:xpath-header-enricher default-overwrite="true"    [id="CO1-1"]1
                               id=""                       [id="CO1-2"]2
                               input-channel=""            [id="CO1-3"]3
                               output-channel=""           [id="CO1-4"]4
                               should-skip-nulls="true">   [id="CO1-5"]5
    <int:poller></int:poller>                              [id="CO1-6"]6
    <int-xml:header name=""                                [id="CO1-7"]7
                    evaluation-type="STRING_RESULT"        [id="CO1-8"]8
                    header-type="int"                      [id="CO1-9"]9
                    overwrite="true"                       [id="CO1-10"]10
                    xpath-expression=""                    [id="CO1-11"]11
                    xpath-expression-ref=""/>              [id="CO1-12"]12
</int-xml:xpath-header-enricher>
1 指定是否覆盖现有消息头值的默认布尔值。它仅对不提供自己的“overwrite”属性的子元素生效。如果未设置“default-overwrite”属性,则指定的消息头值不会覆盖任何具有相同消息头名称的现有消息头值。可选。
2 底层 bean 定义的 ID。可选。
3 此端点的接收消息通道。可选。
4 发送丰富消息的通道。可选。
5 指定是否应跳过空值,例如表达式评估可能返回的空值。默认值为 true。如果空值应触发删除相应的消息头,请将其设置为 false。可选。
6 与消息头丰富器一起使用的轮询器。可选。
7 要丰富消息头的名称。强制。
8 XPath 评估预期结果类型。如果未设置 header-type 属性,则这是消息头值的类型。允许以下值:BOOLEAN_RESULTSTRING_RESULTNUMBER_RESULTNODE_RESULTNODE_LIST_RESULT。如果未设置,则内部默认为 XPathEvaluationType.STRING_RESULT。可选。
9 消息头值类型的完全限定类名。XPath 评估的结果通过 ConversionService 转换为此类型。例如,这允许将 NUMBER_RESULT(双精度浮点数)转换为 Integer。类型可以声明为原始类型(例如 int),但结果始终是等效的包装类(例如 Integer)。与 Payload Type Conversion 中讨论的相同集成 ConversionService 用于转换,因此通过向服务添加自定义转换器来支持转换为自定义类型。可选。
10 布尔值,指示如果输入 Message 中已存在相同名称的现有消息头值,是否应覆盖此消息头值。
11 作为 String 的 XPath 表达式。必须设置此属性或 xpath-expression-ref,但不能同时设置两者。
12 XPath 表达式引用。必须设置此属性或 xpath-expression,但不能同时设置两者。