我正在尝试从运行Activemq代理的同一进程访问jmx功能,并通过Web服务公开一些属性。代码如下所示:
MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
try {
ObjectName name = new ObjectName("org.apache.activemq:BrokerName=locahost,Type=Broker");
BrokerViewMBean brokerViewMBean = JMX.newMBeanProxy(mbs, name, BrokerViewMBean.class);
ObjectName[] queues = brokerViewMBean.getQueues();
.
.
.
} catch (Exception e) {
e.printStackTrace();
}
当我运行此代码时,我得到以下异常:
谁能让我知道我做错了什么,这个例外想说什么?
谢谢。
线索在由部分异常引起:
Caused by: javax.management.InstanceNotFoundException: org.apache.activemq:BrokerName=locahost,Type=Broker at
您使用的对象名称必须不正确,或者代理尚未运行。您可以使用jsole附加到进程并查看有效的ObjectNames是什么。