私は2つの操作を持つサービスを持っています。私のプロセッサ豆でApache Camelの条件付きルーティング
<camel:route id="myRoute">
<camel:from uri="cxf:bean:myListenerEndpoint?dataFormat=POJO&synchronous=true" />
<camel:bean ref="processor" method="processMessage"/>
<camel:to uri="xslt:file:resources/service/2.0.0/UserRegistration.xsl"/>
<camel:to uri="cxf:bean:myTargetEndpoint"/>
</camel:route>
、私は指定:
RegisterUser registerUser = exchange.getIn().getBody(RegisterUser.class);
は私が登録ユーザーオブジェクトを取得
RegisterUser
UpdateUser
私はラクダの敗走を持っています。すべてうまく動作します。サービス操作は、私は特定のBeanへのメッセージをルーティングしたいRegisterUser
であり、サービスの操作がUpdateUser
であれば、私はメッセージをルーティングする場合
: 問題は、私は例えばのために、私の要求条件付きルートにラクダをしたいということです他のBeanに転送します。
私はラクダxPathを使用しようとしましたが、動作していないようです。
<camel:route id="myRoute">
<camel:from uri="cxf:bean:myListenerEndpoint?dataFormat=POJO&synchronous=true" />
<camel:choice>
<camel:when>
<camel:xpath>
//RegisterUser
</camel:xpath>
<camel:bean ref="processor" method="processMessage"/>
<camel:to uri="xslt:file:resources/service/2.0.0/UserRegistration.xsl"/>
</camel:when>
</camel:choice>
<camel:to uri="cxf:bean:myTargetEndpoint"/>
</camel:route>
さまざまなターゲットにルーティングするようにラクダを設定する方法を検索していましたが、何も見つかりませんでした。誰かがどこに問題があるのか分かっているのだろうか?
これは私にとって素晴らしい作品です。正確に私が必要としたもの。ありがとうございました! :) –