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

    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的状态插件来接收统计信息,该插件已填充到我的AdminStats类中(它启动了一个用于接收统计信息的新线程),但它仍然告诉我,我只能使用同步消息发送,而没有指定MessageListener。

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


我无权更改邮件的发送方式。有什么方法可以异步获取统计信息吗?

最佳答案

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

关于java - ActiveMQ异步统计信息接收,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12937705/

10-11 02:35