Журнал очереди JMS / просмотр всех сообщений (невидимый потребитель для очереди) (OpenJMS)
У вас есть идея, если бы был какой-то хороший способ просматривать / регистрировать очереди JMS? (Я использую OpenJMS)
По темам я могу просто добавить еще одного потребителя, и это все, но с очередями я еще не закончил с решением. Я хотел бы регистрировать все сообщения в определенных очередях и темах, не "выталкивая" их из очереди (чтобы регистратор считал очереди просмотра "невидимыми").
С помощью javax.jms.QueueBrowser я могу получить снимок очередей, но это, кажется, не обеспечивает "решения для слушателя" - снова и снова читать все сообщения в очередях бесконечного цикла и надеяться, что ни одно из сообщений не будет записано одновременно и потребляется до моих снимков - это не похоже на хорошее решение.
Другой вариант - создать две очереди для каждой "логической очереди" - одну для логгера и одну для фактического использования - регистратор затем перенаправит сообщения в "фактическую очередь" - это может сработать, но может быть лучшее решение?
Так что, если у кого-то есть решение получить все сообщения в очереди с помощью "невидимого" регистратора или какое-нибудь другое хорошее решение для регистрации, это было бы круто.
2 ответа
Если вы переключитесь на Apache ActiveMQ (который является намного лучшим и более популярным JMS-провайдером с открытым исходным кодом, который также полностью поддерживает JMS 1.1 и J2EE 1.4), вы получите ряд альтернатив для мониторинга и просмотра очередей, в частности, вы можете просто использовать веб-консоль или JMX
Я также искал решение и наткнулся на проект OSS под названием Hermes ( http://www.hermesjms.com/confluence/display/HJMS/Home). Я не могу ручаться за это, но я собираюсь попробовать это. На домашней странице упоминается возможность просмотра / поиска очередей.