2

親愛なるキャメルライダー!

石鹸、休息などからのすべての着信メッセージを保持/保存する方法を知っているかどうかを尋ねたいと思います...

現在のインターセプターの使用:

a) org.apache.camel.spi.InterceptStrategy
b) tag  interceptFrom

受信メッセージがプライマリ ルート (外部クライアントによる呼び出し) から送信されているか、ネストされたルートから送信されているかを区別するのに問題があります。

また、クラス UnitOfWork メソッドは親の originalInMessage へのアクセスを提供しないため、プロセッサ内でも問題が発生します。

ここに私が達成したいことを簡単に視覚的に説明します: メッセージの流れ

提案をありがとう、Andrej

4

1 に答える 1

2

多くのルートを持つ既存のアプリに対してリファクタリングしようとしている場合を除き、インターセプターを台無しにすることはありません...

代わりに、元のメッセージを Exchange プロパティまたはメッセージ ヘッダーに (他のメッセージ ソース プロパティなどと共に) 保存し、データなどを取得する単純な KEEP プロセッサを作成します。

于 2013-01-16T19:03:59.410 に答える