使用Deployer调用JMX会获得InstanceNotFoundException

时间:2013-03-21 20:50:41

标签: java jmx

我们有一个JMX应用程序,我们打开连接,然后在方法调用中使用对象名Catalina:type=Deployer,host=[hostname](检查应用程序是否已部署),但我们得到一个异常(InstanceNotFoundException)。这可能是什么原因?

1 个答案:

答案 0 :(得分:1)

如果没有看到更多的代码或上下文,很难在这里提供帮助。但是,如果您查看支持大多数JMX客户端的javadocs for MBeanServerConnection,您可以看到InstanceNotFoundException表示:

  

InstanceNotFoundException指定的MBean未在MBean服务器中注册。

这意味着您指定的ObjectName与您连接的JMX服务器注册的bean名称不匹配。

使用的ObjectName必须与服务器注册的完全匹配。应该使用以下方式返回相同的名称:

Set<ObjectName> names = mBeanServerConnection.queryNames(null, null);