如何查找队列的大小
常见问题解答 > 使用 Apache ActiveMQ Classic > 如何查找队列的大小
如何检查队列的大小?我知道这不是 JMS 标准,但大多数 JMS 实现都有方法可以做到这一点。
可以使用 ActiveMQ Classic 5.x 中的 MBean 查看队列深度。使用任何 JMX 管理控制台查看统计信息。请参阅如何监控 ActiveMQ Classic。
还可以使用 JMS QueueBrowser 浏览队列的内容。
或者,您可以以编程方式访问统计信息
通过 MBean,您可以监控单个目标,包括与目标相关的消息统计信息。例如,您将在目标(队列或主题)上看到以下属性
- 入队计数 - 自上次重启以来发送到队列的消息总数
- 出队计数 - 自上次重启以来从队列中删除(消费者确认)的消息总数
- 在传输中计数 - 发送到消费者会话但未收到确认的消息数量
- 调度计数 - 发送到消费者会话的消息总数(出队 + 在传输中)
- 过期计数 - 由于过期而未交付的消息数量
“队列大小”也在属性“QueueSize”中明确指出。QueueSize 是队列/存储中尚未被消费者确认的消息总数。与入队计数相比,这有时会让人困惑,因为入队计数是在一段时间内(自上次代理重启以来)的计数,而 QueueSize 不依赖于一段时间,而是依赖于存储中消息的实际数量。