InstanceNotFoundException

InstanceNotFoundException

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

最佳答案

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


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


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

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

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

07-24 20:11