我们有一个JMX应用程序,我们打开连接,然后在方法调用中使用对象名Catalina:type=Deployer,host=[hostname]
(检查应用程序是否已部署),但我们得到一个异常(InstanceNotFoundException)。这可能是什么原因?
答案 0 :(得分:1)
如果没有看到更多的代码或上下文,很难在这里提供帮助。但是,如果您查看支持大多数JMX客户端的javadocs for MBeanServerConnection
,您可以看到InstanceNotFoundException
表示:
InstanceNotFoundException指定的MBean未在MBean服务器中注册。
这意味着您指定的ObjectName
与您连接的JMX服务器注册的bean名称不匹配。
使用的ObjectName
必须与服务器注册的完全匹配。应该使用以下方式返回相同的名称:
Set<ObjectName> names = mBeanServerConnection.queryNames(null, null);