MBean命名规范

     近段由于项目中要用到jmx,所以对其有所接触!从网上获得一些示例代码后就开始动手了,入门的代码网上很多,但是有些要留意的地方没有提及!这里就说下mbean的命名规范的问题。这个情况是我在把MBean注册到MBean服务器的时候遇到的。大致的情况是出现了下列异常信息:

Create an RMI connector server
javax.management.NotCompliantMBeanException: MBean class com.skywin.monitor.appadt.mbean.GlobalsdrMbeanImpl does not implement DynamicMBean, neither follows the Standard MBean conventions (javax.management.NotCompliantMBeanException: Class com.skywin.monitor.appadt.mbean.GlobalsdrMbeanImpl is not a JMX compliant Standard MBean) nor the MXBean conventions (javax.management.NotCompliantMBeanException: com.skywin.monitor.appadt.mbean.GlobalsdrMbeanImpl: Class com.skywin.monitor.appadt.mbean.GlobalsdrMbeanImpl 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 com.skywin.monitor.appadt.AppadtMbanAgent.main(AppadtMbanAgent.java:30)

 查了资料才知道,是我的MBean不符合命名规范 !命名规范要遵从一下两点

 

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

 

2监控的类和MBean 接口必需在同一包下

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

你可能感兴趣的:(java,sun)