Iam создает приложение на activemq, где iam отправляет сообщение от производителя, где мой режим доставки NON_PERSISTENT (iam не имеет отношения к режиму доставки PERSISTENT, и я знаю он будет сохранен в DLQ, который не является моим дизайном) и установил время для сообщения, используя файл production.setTimeToLive (2000). Поскольку функциональность говорит, что сообщение истечет через 2 секунды.Истерируйте по ненастоящим сообщениям activemq в ActiveMQ.Advisory.Expired.Queue
Я вижу, что старые сообщения помещён в ActiveMQ.Advisory.Expired.Queue в теме секции ActiveMQ консоли администратора т.е. http://localhost:8161/admin/topics.jsp.
Мой вопрос, как я итерацию по ActiveMQ.Advisory.Expired.Queue так, что я могу получить доступ к MESSAGEID в выдыхаемом примере message.Any кода будет большой.
Superb понимают концепцию и работает как шарм !!!! –
@ Hassen Bennour Используя приведенный выше код, я могу получать сообщения, срок действия которых истекает после запуска слушателя сообщения. Я не могу получить ранее истекшие сообщения, которые находятся в ** DLQ **. Как я могу повторить и получить сообщение с истекшим временем? Для моей озабоченности мне тоже нужны эти сообщения. –
вы можете попытаться добавить эту политику к своим темам, чтобы использовать очередь вместо темы в качестве DLQ, так как это сообщение не будет потеряно, если нет потребителя онлайн, ключ ** useQueueForTopicMessages ** ' \t \t \t \t "> \t \t \t \t \t \t \t \t \t \t deadLetterStrategy> \t \t policyEntry> \t policyEntries> \t destinationPolicy> ' –