2012-03-08 23 views
0

キャメルルートを動的に再ルーティングする方法を理解しようとしています。私は現在、いくつかの入力に基づいてプロセッサのルートを計算しています。ルートはメッセージヘッダーに入れられます。私はキャメルルートを動的に再ルーティングする

.routingSlip(header("myHeader").toString())

またはそれのようなものを使用して、動的にルートを再することができるだろうと思ったが、私はこれまで任意の運を持っていませんでした。

.recipientList(property("sendTo")); 

:ようrecipientListを使用し、routingSlipするのではなく、その後、

exchange.setProperty("sendTo", blah); 

すべてのヘルプは高く評価され...

答えて

1

私たちは、私たちのプロセッサの間に、プロパティを設定します。 ..素晴らしい作品。私は完全な例がこれに必要ではないと思いますか?

+0

これが私のやり方です。私は交換の代わりにメッセージからそれを得るためにヘッダー記法を使用することができます。 – Derek

2

あなたは.toString()を使用しないでくださいキャメルのドキュメントに記載されているように、それは単に http://camel.apache.org/routing-slip

.routingSlip(header("myHeader")) 

する必要があります次に "myHeaderは" 1..nのエンドポイントはどこにだけ含まれている必要がありますメッセージをルーティングする必要があります。エンドポイントが複数ある場合は、カンマで区切ります。

+0

toString()を追加しなかったとき、routingSlipがValueBuilderで動作しないというエラーが発生しました。 – Derek

+0

どのバージョンのCamelをお使いですか?古いリリースかもしれません。ルーティングスリップはデフォルトでヘッダーを使用するので、あなたはただ行うことができます:.routingSlip( "myHeader")。例えば、ヘッダー名であるStringを渡します。 –

+0

Imバージョン2.6を使用しています – Derek

関連する問題