jmx使用应该注意的基本规范

时间:2021-07-08 05:27:37

1、标准MBean 名称必需是在要监控的类名后面加上“MBean ”。

2、监控的类和MBean 接口必需在同一包下,也可以理解为注册的接口名字必须以MBean结尾,接口实现类比接口名字少了MBean,而且接口和接口实现类必须放在同一个包下

如果不是这样,将会报类似的错:

Exception in thread "main" javax.management.NotCompliantMBeanException: MBean class test.my.demo.jmx.stander.notification.Hello does not implement DynamicMBean, neither follows the Standard MBean conventions (javax.management.NotCompliantMBeanException: Class test.my.demo.jmx.stander.notification.Hello is not a JMX compliant Standard MBean) nor the MXBean conventions (javax.management.NotCompliantMBeanException: test.my.demo.jmx.stander.notification.Hello: Class test.my.demo.jmx.stander.notification.Hello is not a JMX compliant MXBean)
at com.sun.jmx.mbeanserver.Introspector.checkCompliance(Introspector.java:160)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:305)
at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:482)
at test.my.demo.jmx.stander.notification.HelloAgent.main(HelloAgent.java:19)