“挂起的消息”是什么意思?ActiveMQ的可能原因是什么?

问题描述

我有一个使用来自activeMQ的消息的项目。它运行正常,但有时它会挂起待处理的消息,将其留在队列中。它说入队1000个,出队0个,派遣1000个。它还说1000条待处理邮件

“待处理邮件”的可能原因是什么?

解决方法

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

“待处理消息”计数不变的最可能原因是消费者以某种方式失败。它可能卡在了某种阻止网络运行的状态中,或者可能完全脱机。

看看队列中的使用者计数。如果> 0,则仍然连接使用者。此时,您应该检查各个消费者。假设客户端是基于Java的,则在这种情况下可以收集线程转储,因为这样可以使您清楚地了解客户端的操作。如果使用者计数为0,则需要重新连接使用者。