簡體   English   中英

如何使用 XML DSL 根據特定元素的值對 Apache Camel 中的消息重新排序?

[英]How to resequencing messages in Apache Camel based on a specific element's value using XML DSL?

考慮以下 XML 消息:

<?xml version="1.0" encoding="UTF-8"?>
<Message>
  <HeaderSegment>
    <SortElement>ABC</SortElement>
  </HeaderSegment>
  <LineSegment>
    ...
  </LineSegment>
</Message>

如何對 SortElement 元素值執行重新排序?

(每條消息中只會有一個HeaderSegment和一個SortElement)

<?xml version="1.0" encoding="UTF-8"?>
<blueprint>
  <camelContext xmlns="http://camel.apache.org/schema/blueprint">
    <route>
      <from uri="file:messages/incoming"/>
      <resequence>
        <!-- ??? -->
        <to uri="file:messages/outgoing"/>
      </resequence>
    </route>
  </camelContext>
</blueprint>

(使用Apache駱駝2.23.0)

您可以使用 xpath 表達式將您的排序基於“SortElement”值。

java DSL 中的示例:

from("direct:demo")
  .resequence( xpath("/Message/HeaderSegment/SortElement") )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM