2种方式:
方式一:
MBeanServer server = ManagementFactory.getPlatformMBeanServer(); ObjectName objectName = new ObjectName("jmxBean:name=hello"); server.registerMBean(new Hello(), objectName); // 方式一,启动时指定,代码到此为止 /** * -Djava.rmi.server.hostname=192.168.57.234 * -Dcom.sun.management.jmxremote.port=8288 * -Dcom.sun.management.jmxremote.authenticate=false * -Dcom.sun.management.jmxremote.ssl=false */ // 放大用 Thread.sleep(100000000);
方式二:
MBeanServer server = ManagementFactory.getPlatformMBeanServer(); ObjectName objectName = new ObjectName("jmxBean:name=hello"); server.registerMBean(new Hello(), objectName); /** * 方式二 代码注册 * 但启动时仍然需要指定 -Djava.rmi.server.hostname=192.168.57.234,否则客户端jconsole无法连接 */ Registry registry = LocateRegistry.createRegistry(8288); JMXServiceURL jmxServiceURL = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:8288/jmxrmi"); JMXConnectorServer cs = JMXConnectorServerFactory.newJMXConnectorServer(jmxServiceURL, null, server); cs.start();
之后jconsole可以(当然也可以自己写client获取jmx connector,并展示HelloMBean的一些信息,属性,及调用其方法):
访问属性值
给属性赋值
调用其中的方法,可输入参数
http://www.cnblogs.com/dongguacai/p/5900507.html
http://www.cnblogs.com/trust-freedom/p/6842332.html
之后还有2块:
jmx 通知
动态mbean
原文:https://www.cnblogs.com/silyvin/p/10364295.html