ActiveMQ异步统计接收

时间:2012-10-17 15:21:25

标签: java jms activemq

我面临一个非常常见的错误,但仍然没有找到解决方案。我正在使用异步消息发送:

    Queue adminQueue=session.createQueue("admin_queue");
    MessageConsumer mc=session.createConsumer(adminQueue);              
    mc.setMessageListener(new AdminListener(emfMaster,ps));
    connection.start();

    this.statisticProvider = new AdminStats(adminQueue, mc, session);       

我需要为它接收statstics,使用ActiveMQ的Stat插件,它插入我的AdminStats类(它启动一个新的线程来接收统计信息),但它仍然告诉我,我只能使用同步消息发送,而不是指定MessageListener。

[javax.jms.IllegalStateException: Cannot synchronously receive a message when a MessageListener is set]

我无权更改邮件的发送方式。有没有办法以异步方式获取统计数据?

1 个答案:

答案 0 :(得分:1)

您可以使用JMX获取统计数据。或者提供咨询信息。这里有一些链接:http://activemq.apache.org/how-can-i-monitor-activemq.html