1

jms キュー (ActiveMQ) からのメッセージを消費するいくつかの Mule プロセスを構築しました。Mule コンポーネントが例外をスローするたびに、メッセージを消費するトランザクションはロールバックし、メッセージは元のキューに再配信されます。数回試行した後、配信不能キュー (DLQ.queuName) に送信されます。

これは問題なく動作していますが、スローされた例外 (最初のものか最後のものか) がありません。気にしません (おそらく同じでしょう)。これは他のブローカー (WebLogic JMS など) で実行できることですが、私はしばらくこれに苦労していましたが、役に立ちませんでした。

これが構成できるものなのか、それとも ActiveMQ 用の特定の Mule 例外ハンドラまたはポリシーを構築する必要があるのか​​ 誰かが知っていますか?

ティア、マーティン

4

1 に答える 1

1

現時点では、その例外は ActiveMQ で失われています (Mule についてはわかりません) が、エラーとしてログに報告されます。ActiveMQConsumer で例外の文字列形式を記憶し、例外を DLQ に強制するポイズン Ack を使用してブローカーに渡すことで、適切な拡張が行われます。そのようにして、結果の DLQ メッセージのメッセージ プロパティとして記憶することができます。例外をどのように処理しますか?接続例外リスナーに報告するか、DLQ メッセージに記録しますか?

于 2011-02-24T19:17:59.557 に答える