jmx(一)jmx & jconsole连接

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

猜你喜欢

转载自www.cnblogs.com/silyvin/p/10364295.html
JMX
今日推荐