0

ESB のいくつかのルートを記述する blueprint.xml があります。ルートに渡された XML ファイルから値を取得したいと考えています。次に、これらの値を使用して動的プロパティ キー名を作成し、プロパティ ファイルを呼び出して、一致するプロパティを取得します (すべてルート内)。これを毎回インスタンス化するオーバーヘッドのために、Java プロセッサを作成する必要がないようにしたいと考えています。基本的に私はこれをしたい:

    <from uri="file:C:/myfilelocation?"/>
    <to uri= {{<xpath>//company</xpath>+<xpath>//branch</xpath>}}/>

ブループリントでは、{{}} を使用してプロパティを呼び出します。プロパティ {{}} タグ内のプロパティ キーとして xpath 値を配置しようとしています。私のプロパティファイルには、次のような会社/支店の組み合わせごとのマッピングがあります。

company1branch1= http://thiscompany.com company2branch2= http://someothercompany.com

これを行う方法はありますか?たとえば、ある種のエスケープ文字はありますか?

4

1 に答える 1

0

< to > は静的 URI 用です。動的なランタイム計算 URI を使用する場合は、受信者リスト EIP: http://camel.apache.org/recipient-list.htmlを使用して、メッセージを送信できるようにする必要があります。実行時に計算される受信者。

これは、この FAQ でも説明されています: http://camel.apache.org/how-do-i-use-dynamic-uri-in-to.html

ただし、xpath を使用する場合は、最初にヘッダーとして設定する必要があります。のようなもの:

<setHeader headerName="company">
   <xpath resultType="java.lang.String">/xxxx</xpath>
</setHeader>
...
<recipientList><simple>{{${header.company}${header.branch}}}</simple></recipientList>

また、受信者リストは 2 つ以上の宛先に送信できます。セパレータはデフォルトでコンマです。しかし、それを構成することはできます。上記のリンクを参照してください。

于 2013-04-25T12:57:48.660 に答える