2012-04-04 125 views
7

我有一个使用SSL传输的activeMQ代理。我有大约10位使用经纪人的消费者。我正在使用骆驼来配置我的路线。ActiveMQ消费者挂起

每隔一段时间,它都会挂起并且不会消耗新消息,即使我重新启动使用者,即使队列中有消息挂起。

我开始试图通过逐个浏览我的消费者试图复制问题来隔离发生这种情况的位置。我终于找到了一位消费者,我可以重新解决问题。它会在一段时间后挂起,但是,如果我转到活动的MQ管理控制台并尝试查看队列中的消息,它将再次开始运行。我认为Jetty正在导致连接发生刷新网页队列,从而解除了我所遇到的一些线程问题。我应该如何调试?

感谢

+0

听起来像是一个ActiveMq问题。如果你有这种情况,并开始一个新的客户是他收到的消息? – Julias 2012-04-04 19:52:51

+0

不,不一定。我已经尝试过关闭消耗,然后重新开始,并且它不会返回队列以获取消息。 – Derek 2012-04-04 20:59:20

回答

7

我的一位同事偶然发现“卡住”的消息到一些有趣的事情,我刚刚在网上找到了一个解释:http://activemq.2283324.n4.nabble.com/Consumer-is-not-able-to-pick-messages-from-queue-td2531722.html

显然有一个页面大小,可以填充时,当你有一个选择器和所有消息在同一队列中。这一切都发生在我们身上 - 我还没有开始使用消费者,所以我最终得到了一整页消息,其中包含了针对不同消费者的选择器,这导致我的正在运行的消费者无法获得任何额外的工作。

0

对你来说太晚了,但是我遇到了同样的问题,问题在于我试图使用我使用的相同连接将事情添加到队列中。

一旦我将它们分开(两个完全不同的上下文,一个用于生产,另一个用于消费),问题自行解决。