java - ActiveMQ异步统计接收

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

我需要使用 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/

相关文章:

java - JMS消息监听器Weblogic的并发处理

java - 获取 ActiveMQ 队列长度的任何简单方法?

java - 为什么 JBoss 只创建一个 ActiveMQ 消费者?

java - ActiveMQ 故障转移 : How to set the maximum reconnect delay

java - 从 Spring 查找 activeMQ 目的地

java - Android:ListView ..在单击模式和多选模式之间转换(如:消息应用程序)

java - MyBatis 插入关联

java - 用实际值替换字符串中的变量 - Groovy

java - 使用 Apache Camel 的 JMS/JNP 连接

java - lambda 可以访问其目标功能接口(interface)的成员吗?