ActiveMQ多个订阅冻结应用程序

时间:2011-03-02 11:19:36

标签: jms activemq

我有一个试图订阅许多不同主题的应用程序。

服务器端通过这些主题发布大量消息,一旦应用程序开始订阅,它就会收到很多消息,导致应用程序甚至无法到达订阅功能的末尾。

似乎OnMessage Listener被淹没了很多(监听器是试图为所有主题订阅的类)。

所以基本上有一种方法可以在我订阅所有主题之前停止接收消息吗?或者我错过了什么?

尝试订阅所有主题的线程永远不会再次获得处理器。 (如果服务器关闭,订阅很好,因为它没有收到任何东西,所以它不会失去处理能力..)

提前谢谢。

保罗。

1 个答案:

答案 0 :(得分:1)

您可以尝试降低使用者的预取限制,这样可以防止代理在创建消息时尝试分发这么多消息,这有助于减少您看到的泛滥问题。

以下是一些可能有用的文档。 http://activemq.apache.org/what-is-the-prefetch-limit-for.html

蒂姆 - www.fusesource.com