监控activemq主题

时间:2013-04-08 12:13:24

标签: java jms activemq

我是ActiveMQ的初学者,所以我遇到了一些问题......我要制作客户端 - 服务器应用程序,在服务器端使用activemq。所有客户端都发送消息,因此服务器上有单个队列接收来自所有客户端的消息。据我所知,这不是问题。

但还有另一件事......收到消息后,服务器使用它并为每个传入消息形成应答消息,并且必须为所有客户端传递此消息,而不仅仅是发送者。如果此时没有与某个客户端的连接,当连接恢复时,客户端必须接收服务器在该客户端脱机期间发送的所有消息(没有丢失)。

开始学习ActiveMQ,我找到了解决方案:服务器上有一定数量的“输出队列”,这个数字等于客户端数量。因此,在形成答案之后,服务器应用程序将遍历所有“输出队列”,并将消息放入每个队列中。在此变体中,EACH客户端具有唯一ID并且侦听其OWN队列(具有所有应答消息),因此在服务器上我们可以监视每个客户端接收的消息数量(这是有利的)。但是,我认为,这不是最好的解决方案(队列中的很多相同的对象+在服务器端手动添加每个客户端都是缺点)。

了解有关activemq的更多信息,我找到了主题和持久订阅者。看起来像我描述的问题需要的东西。但现在我的问题是 - 如何监控主题消息?我试过在浏览器管理员工具中看到它,也在jconsole中,但我还没看到这个消息。可能吗?对于未来的任何问题 - 使用主题是一个好主意吗?或者可能更好地使用一定数量的输出队列,如我所描述的那样?

1 个答案:

答案 0 :(得分:1)

持久订阅可能是要走的路。但是,正如您所经历的那样,您需要牺牲一点运营透明度。

您可能希望查看虚拟目的地,这可能会解决您的问题。

http://activemq.apache.org/virtual-destinations