"pending messages" 是什么意思,ActiveMQ 的可能原因是什么?

What does it mean by "pending messages" and what is possible cause for ActiveMQ?

我有一个项目使用来自 activeMQ 的消息。它运行良好,但有时它会将待处理的消息卡在队列中。它说 1000 排队,0 出队,1000 派遣。它还显示 1000 条待处理消息。

“待处理消息”的可能原因是什么?

“待处理消息”是队列中尚未被客户端确认的消息。这有时被称为队列的“消息计数”或队列的“深度”。

“待处理消息”计数不变的最可能原因是使用者不知何故失败了。它可能卡在某种其他类型的阻塞网络操作中,也可能完全离线。

查看队列中的使用者计数。如果它 > 0,那么消费者仍然处于连接状态。那时您应该检查各个消费者。假设客户端是基于 Java 的,线程转储很适合在这种情况下收集,因为这将使您清楚地了解客户端正在做什么。如果消费者计数为 0,那么您将需要重新附加消费者。