Jmx Tutorial 笔记

1.MBean 接口的命名一定要以MBean或MXBean结尾,否则报:
  Exception in thread "main" javax.management.NotCompliantMBeanException: MBean class com.example.mbeans.Hello does not implement DynamicMBean, neither follows the Standard MBean conventions (javax.management.NotCompliantMBeanException: Class com.example.mbeans.Hello is not a JMX compliant Standard MBean) nor the MXBean conventions (javax.management.NotCompliantMBeanException: com.example.mbeans.Hello: Class com.example.mbeans.Hello is not a JMX compliant MXBean)
    at com.sun.jmx.mbeanserver.Introspector.checkCompliance(Unknown Source)
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(Unknown Source)
    at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(Unknown Source)
    at com.example.mbeans.Main.main(Main.java:28)

2.Server start前必须用 rmiregistry 9999 注册端口,或者LocateRegistry.createRegistry(9999);    

3.使用Subject Delegation(使用java.policy)来控制权限,不能在eclipse执行Server,
  因为jvm会任务bin目录也是一个Protected Domain,这样没有包含权限。
  access: domain that failed ProtectionDomain  (file:/D:/code/jmx_examples/bin/ <no signer certificates>)
 sun.misc.Launcher$AppClassLoader@e48e1b
 <no principals>
 

4.access.properties控制访问权限
  样例:
  username readwrite create SimpleStandard unregister    
  password.properties控制用户和密码
  样例:
  username password

5.MXBean 和MBean的区别在于MBean指定定义基本类型参数的接口,MXBean可以是复杂对象参数的接口。
   

你可能感兴趣的:(eclipse,thread,exception,Class,domain,jmx)