ActiveMQ を使用してクライアント/ワーカー システムを実装しており、手動のメッセージ確認とメッセージ拒否を実装したいと考えています。
メッセージを拒否する理由 ワーカーにやってくるタスクが多すぎる場合、そのワーカーがブローカに元のメッセージを再度キューに入れるように指示するようにします。
トランザクションを自動承認または実装する方法があることは知っていますが、次のような方法が望ましいです。
- メッセージは 5 秒以内に確認する必要があります
- 承認されない場合、ブローカーはメッセージを別のワーカーに送信します
- Works はいつでもメッセージを手動で拒否できます
これを実装するにはどうすればよいですか (メッセージをブローカーに手動で再送信するだけではありません)。
アップデート:
質問を少し言い換えると、 未確認のメッセージがキューに再度追加されることを確認するにはどうすればよいですか (また、以前は確認していなかった同じ消費者に再配信を戻すことができます-消費者がオフラインになってから戻ってきたとします) )