【问题标题】:How to explore a ApacheMQ Queue to view all messages that are sent to it如何探索 ApacheMQ 队列以查看发送给它的所有消息
【发布时间】:2017-09-13 12:53:20
【问题描述】:

我已经开始使用 ActiveMQ 并且能够继续前进,但我无法弄清楚如何查看发送到特定队列的所有消息。

只要没有被消费者消费,我就可以看到队列中的消息,但是一旦被消费者消费,我就再也看不到队列中的消息了。

在我的项目中,我曾经使用“MQJ Explorer”并与队列管理器连接,在那里我可以查看发送到特定队列的所有消息,所以我期待 ActiveMQ 的类似功能。

我知道在发送时我可以将消息标记为“持久”,但它仍然会在队列中出现,直到它没有被消费,一旦被消费,我就再也看不到它了。

如果 ActiveMQ 的工作方式有所不同,请告诉我。

【问题讨论】:

    标签: jms activemq


    【解决方案1】:

    队列保存消息,直到它们被消耗,然后它们被丢弃。所以你不能浏览所有发送到队列然后被消费的消息。唯一的解决方案是使用 Camel 路由或类似路由将队列镜像到其他审计类型队列,但您需要非常小心,因为这很容易导致填充消息存储,因为镜像消息将除非定期清除它们,否则它们会继续增长并占据空间。

    【讨论】:

    • 好的,但是我的项目是怎么来的支持这个功能吗?我的意思是这甚至是可能的还是实现这一目标的唯一方法就是您提到的方式?
    • 我不能说其他实现,ActiveMQ 不保留队列数据的历史视图。消息代理不是数据库,消息来来去去。
    • 我做了更多的研究,我认为这是所有 MOM 实现的整体行为,您无法查看出队的消息,如果确实需要,那么您可以有另一个队列仅用于只读目的。跨度>
    猜你喜欢
    • 1970-01-01
    • 2012-04-23
    • 2013-08-23
    • 2021-06-23
    • 1970-01-01
    • 1970-01-01
    • 2018-02-20
    • 1970-01-01
    • 2015-07-12
    相关资源
    最近更新 更多