2017-11-03 13 views
0

デッドレターキューに達した後、メッセージの実際の再配信回数を取得する方法を考えてください。表示され、アルテミスはこれを新しい配達とみなし、カウンターを1にリセットします。デッドレターキュー内のJMSXDeliveryCount

以下を参照してください。 1.メッセージはMDBによって消費されます。 2.何か問題が発生し、最大再試行回数が3に達するまでコンテキストでsetRollbackOnlyを呼び出します。 3. Artemisは、構成済みのDLQにメッセージを送信します。 4. DLQ Mdbはメッセージを消費しますが、メッセージのJMSXDeliveryCountはの代わりに1を読み取ります。

DLQから再試行回数3を取得するにはどうすればよいですか?

答えて

0

私はこの時点であなたが望むことを簡単に行う方法はないと思います。元のメッセージの配信数を推測するには、メッセージから「_AMQ_ORIG_ADDRESS」プロパティを取得し、ActiveMQServerControl#getAddressSettingsAsJSON管理メソッドを使用してブローカにクエリを実行します。そのメソッドの出力には、デッド・レター・アドレスに送信されたときのメッセージのJMSXDeliveryCountに対応する、そのアドレス用に構成された「maxDeliveryAttempts」が含まれます。

関連する問題