我最近将服务器从 ActiveMQ 从 5.8 升级到最新版本 (5.11.1)。从那时起,我偶尔会注意到消息会在特定队列上堆积而不会被删除。
我们的架构有一个生产者,一个消费者。我可以看到消费者仍然处于连接状态,但消息正在从生产者那里堆积起来。我的解决方案是通过 Web 控制台删除队列。之后,我立即看到消费者重新连接并再次开始处理消息。
如果相关,在这种情况下,生产者在 .NET 上运行 NMS,消费者在 Java 1.7 上运行 JMS。
最佳答案
当消费者连接到队列时,请从 Web 控制台检查队列中未提交的消息数。如果它大于零并且长时间没有变化,则意味着您的消费者在阅读输入消息时遇到了问题。
如果上述情况属实,可能是因为生产者正在发送不符合 jms 投诉的文件。
关于java - ActiveMQ 不从队列中取出消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31082703/