我正在使用新的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类似,但没有帮助。有什么想法吗?
答案 0 :(得分:1)
您需要连接到activemq的jmx。 在CLI类型jconsole中或转到JDK bin路径并从命令行运行jconsole。 你会看到这个界面。连接到您的jmx。 准确地去这里,看看你的对象。 完全复制到您的对象名称。任何!差异,你不会得到你的经纪人。