通过JMX访问Apache ActiveMQ会导致找不到异常代理5.10

时间:2017-08-11 17:27:23

标签: java activemq jmx

我正在使用新的ActiveMQ 5.10.0安装,我在队列中有一条名为' testing'的消息。我还替换了bin / activemq中的ACTIVEMQ_SUNJMX行以启用JMX:

ACTIVEMQ_SUNJMX_START="-Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"

JMXServiceURL url1 = new 
JMXServiceURL("service:jmx:rmi:///jndi/rmi://10.222.222.222:1099/jmxrmi");
    JMXConnector jmxc = JMXConnectorFactory.connect(url1);
    MBeanServerConnection conn = jmxc.getMBeanServerConnection( );
    ObjectName activeMQ = new 
 ObjectName("org.apache.activemq:type=Broker,BrokerName=TOM");

    System.out.println(newProxyInstance(conn, activeMQ, BrokerViewMBean.class, true).toString( ));
    Set<ObjectName> brokers = conn.queryNames(activeMQ, null);
                      if (brokers.size() == 0) {
                                    throw new IOException("No broker could be found in the JMX.");
                         }

抛出的异常是

Exception in thread "main" java.io.IOException: No broker could be found in 
the JMX.

Accessing Apache ActiveMQ via JMX throws Exception类似,但没有帮助。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您需要连接到activemq的jmx。 在CLI类型jconsole中或转到JDK bin路径并从命令行运行jconsole。enter image description here 你会看到这个界面。连接到您的jmx。enter image description here 准确地去这里,看看你的对象。 完全复制到您的对象名称。任何!差异,你不会得到你的经纪人。