4

ActiveMQキューからメッセージを取得し、成功または失敗する可能性のあるJavaアプリケーションを実行しています。

アプリケーションが失敗した場合に備えて、メッセージをキューに残しておく必要があります。つまり、メッセージをデキューせずに保持します。

キューからメッセージを自動的に消去せずにメッセージを取得する方法はありますか?

キューからのフェッチやキューからの消去などのアトム操作はありますか?

ありがとう。

4

2 に答える 2

7

メッセージの自動確認を無効にし、作業が完了したら手動でmessage.acknowledge()を呼び出します。例外がスローされ、message.acknowlege()が呼び出されない場合、AMQはメッセージの配信を再試行します。すべての試行が失敗した場合、メッセージは最終的にデッドレターキューに入れられます。この動作は構成できます。

于 2012-11-27T10:21:30.150 に答える
2

もう1つの方法は、QueueBrowserを使用することです。これにより、「メッセージを削除せずにキュー上のメッセージを見る」ことができます。ただし、これは検査の目的でより役立ちます。説明したセマンティクスから、mbelowの答えが正しい選択のようです。

于 2012-12-03T13:56:03.563 に答える