2016-09-05 11 views
0

で「.aggregate」を使用した場合のUnitOfWorkからoriginalinmessageを取得することはできません、私はキャメル - 私のラクダのルートでルート

exchange.getUnitOfWork().getOriginalInMessage() 

を使用して元のメッセージを取得することができるが、私は、カスタム集計戦略と集計を呼び出したら、 、作業単位はnullであり、エラーハンドラでメッセージ内の元のデータを取得できません。

答えて

0

新しい交換/メッセージを作成して元のメッセージがなくなりました。

アグリゲータEIPからの出力は、独自のUnitOfWorkを持つ新しいExchangeです。

CamelがアグリゲータEIPの出力を元のメッセージとして設定していない可能性があります。nullです。その場合、アグリゲーターが出力として開始するものにメッセージ内のオリジナルを設定することを検討することができます。

+0

集計動作確認のためのClaus Ibsenありがとうございます。私はexchange.setPropertyを使用して元のメッセージをExchangeに格納しました。交換財産は、新しい交換所でも利用可能です。 –

+0

集計の前に保存したものであれば、集約の一環としてアクセスできます。 –

関連する問題