activemqでアプリケーションを構築しています。ここで、私の配信モードはNON_PERSISTENT(iamはPERSISTENT配信モードを扱っていません。私のデザインではないDLQに格納されます。)、producer.setTimeToLive(2000)を使用してメッセージの生存時間を設定しました。メッセージが2秒で期限切れになると機能が伝えます。ActiveMQ.Advisory.Expired.Queueで非永続的なactivemq期限切れのメッセージを繰り返します。
私は期限切れのメッセージがActiveMQの管理コンソールすなわちhttp://localhost:8161/admin/topics.jspの話題区間でActiveMQ.Advisory.Expired.Queueにエンキューされていることがわかります。
私の質問は、私はので、私は素晴らしいことだ期限切れのmessage.Anyのコード例のメッセージIDにアクセスできることをActiveMQ.Advisory.Expired.Queueを反復行う方法です。
素晴らしいコンセプトを理解し、魔法のように動作します!!!! –
@Hassen Bennour上記のコードを使用することにより、メッセージリスナーの起動後に期限が切れるメッセージを受信することができます。 ** DLQ **にある期限切れのメッセージは以前受信できません。以前に期限切れになったメッセージを反復して取得するにはどうすればよいですか?私の心配のために、私はそれらのメッセージも必要とします。 –
このポリシーをトピックに追加して、DLQとしてトピックの代わりにキューを使用すると、オンラインでコンシューマーがなくてもこのメッセージが失われないようにすることができます。キーは** useQueueForTopicMessages ** ' \t \t \t \t "> \t \t \t \t \t \t \t ** useQueueForTopicMessagesを使用して**回答コードは、このユースケースのために不可能であること\t \t deadLetterStrategy> \t \t policyEntry> \t policyEntries> \t destinationPolicy> ' –