Jms ActiveMQ未在队列上传递/分派持久消息

Jms ActiveMQ未在队列上传递/分派持久消息,jms,activemq,message-queue,messaging,Jms,Activemq,Message Queue,Messaging,我正在使用ActiveMQ v5.10.0,几乎每个周末都会遇到一个问题,我的ActiveMQ实例会停止向使用者发送队列中发送的持久性消息。我还没有弄清楚是什么导致了这一切 当问题发生时,我尝试了以下方法: 我在受影响的队列中添加了一个新的使用者,但它没有收到 任何消息。 我重新启动了原始消费者,但在重新启动后它没有收到任何消息。 我清除了队列中保留的消息,但是消息再次开始累积,代理没有传递任何新消息。当我清除时,到期计数既没有增加出列计数器也没有增加分派计数器。 我在受影响的队列上发送了100

我正在使用ActiveMQ v5.10.0,几乎每个周末都会遇到一个问题,我的ActiveMQ实例会停止向使用者发送队列中发送的持久性消息。我还没有弄清楚是什么导致了这一切

当问题发生时,我尝试了以下方法:

我在受影响的队列中添加了一个新的使用者,但它没有收到 任何消息。 我重新启动了原始消费者,但在重新启动后它没有收到任何消息。 我清除了队列中保留的消息,但是消息再次开始累积,代理没有传递任何新消息。当我清除时,到期计数既没有增加出列计数器也没有增加分派计数器。 我在受影响的队列上发送了100条非持久性消息,令人惊讶的是它收到了这些消息。 我尝试在那个队列上发送100条持久消息,但它没有传递任何消息,所有消息都由代理持有。 我创建了一个新队列并发送了100条持久性消息,其中没有一条消息被传递给消费者,而所有非持久性消息都被传递。 如果我从STOMP生产者发送持久或非持久消息,也会发生同样的情况。令人惊讶的是,所有这些都只发生在队列中,主题消费者能够接收持久性和非持久性消息

我已经在ActiveMQ用户论坛上发布了这篇文章:但是ActiveMQ没有人提出任何建议

jstack输出也没有太大帮助

更多详情: 1.我没有使用任何选择器、消息组功能 2.我已在设置中禁用生产者流控制


我想了解一些关于哪些配置值可能导致此问题的建议—内存限制、消息TTL等。

这可能是我的救命稻草,因为我是一名Websphere MQ人员,但您是否在假设事务性是ActiveMQ的一项功能的情况下提交事务?我问这个问题的原因是我最近的一项要求,我必须修复MQ中处于怀疑状态的消息——它们在队列中,但没有进程可以触及它们。除此之外,您还需要一些比我更具体的产品知识。我们使用spring DMLC来使用sessionTransact=true的消息,并且不使用任何外部事务。我的理解是Spring应该自动完成提交。此外,安装程序在其他日子运行良好,只是在周末晚上开始显示这种行为,需要重新启动代理。可能是由于某个阈值违反导致代理进入错误状态而导致某些特殊代码正在运行。但我不太熟悉,不知道该去哪里找。排队的柜台状况如何?特别是,enqueueCount、dispatchCount、dequeueCount和queueSize。您还可以让我们知道CursorMoryUsage和CursorPercentUsage的值是多少,以及您在该队列上发送的消息的大小吗?嗨,Jake,在问题发生期间-出列和分派计数没有增加。新消息到达时,排队计数不断增加,队列大小等于出列排队计数,并随着消息排队而不断增加。我检查了消费者端的未确认邮件数,但为0。这让我怀疑消费者没有收到消息,这也是我在创建新消费者时观察到的。@Xabhi您找到了解决问题的方法了吗。请让我知道,我面临着同样的问题