使用 JMX 和 inprocess 方式时发生 javax.management.InstanceNotFoundException 异常

您可以结合使用 Java™ 管理扩展 (JMX) 和 Health Center 来监控 Java 虚拟机,但存在一个不兼容问题。

在 IBM® SDK Java Technology Edition V6 及更早版本中,需要 -Dcom.sun.management.jmxremote JMX 参数,使 JMX 客户机能够监控同一机器上运行的 JVM。如果在 inprocess 方式下启动 Health Center 时,在 Java 命令行上指定该设置(换句话说,指定 java -Dcom.sun.management.jmxremote -Xhealthcenter:level=inprocess),那么将抛出以下异常,Health Center 也将无法启动:
javax.management.InstanceNotFoundException: IBM:type=HCMBeanServer
-Dcom.sun.management.jmxremote JMX 参数会导致启动另一台 MBean 服务器,从而造成发生此行为。为避免出现这一问题,请勿将该 JMX 参数与 Health Center 结合使用。从 IBM SDK Java Technology Edition V7 开始,将不再需要该 JMX 参数。

要了解有关 JMX 行为中的这一变化的更多信息,请参阅 Oracle JMX 文档中的Local Monitoring and Management



© Copyright IBM Corporation 2007, 2015.
© Copyright 1997, 2015, Oracle and/or its affiliates.
US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.