0

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

    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);       

而且我需要使用 ActiveMQ 的 Stat 插件来接收它的统计信息,该插件被填充到我的 AdminStats 类中(它启动了一个用于接收统计信息的新线程),但它仍然告诉我,我只能使用同步消息发送,而不是指定消息监听器。

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

我无权更改发送消息的方式。有没有办法以异步方式获取统计信息?

4

1 回答 1

1

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

于 2012-10-18T04:42:24.520 回答