373.6. XQuery をエンドポイントとして使用する

XQuery 式が非常に大きくなる場合があります。本質的にテンプレート化に使用できます。したがって、XQuery テンプレートを使用してルーティングできるように、XQuery エンドポイントを使用することができます。

次の例は、ActiveMQ キュー (MyQueue) のメッセージを取得し、XQuery を使用して変換し、MQSeries に送信する方法を示しています。

  <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
    <route>
      <from uri="activemq:MyQueue"/>
      <to uri="xquery:com/acme/someTransform.xquery"/>
      <to uri="mqseries:SomeOtherQueue"/>
    </route>
  </camelContext>

現在、XQuery のカスタム関数によって NullPointerException が発生する場合があります (Camel 2.18、2.19、および 2.20)。これは、Camel 2.21 で修正される予定です。