jmx简单入门

jmx入门

jmx是Java Management Extensions的缩写,即java管理拓展。我们可以使用jmx对程序的运行状态进行监控和管理。

使用jmx

下面我们就简单的使用jmx来实现配置bean属性的动态修改。动态修改的意思就是在不重启服务器的情况下,实现配置属性的变更。

提供管理信息

//接口要以MBean结尾
public interface HelloMBean {
    String getName();
    void setName(String name);
}

//实现类跟接口在同一个包中,且名字不包含MBean
public class Hello implements HelloMBean {
    private String name;
    @Override
    public String getName() {
        System.out.println("Hello.getName");
        return name;
    }
    @Override
    public void setName(String name) {
        this.name = name;
        System.out.println("Hello.setName");
    }
}

使用jconsole连接

jconsole是jdk自带工具,在配置了jdk环境之后,我们只需要在cmd命令行中输入jconsole即可。然后我们就可以在这里来进行Name属性的修改。

jconsole界面如下

控制台界面:

控制台界面

使用html查看

这里需要注意的是HtmlAdaptorServer 使用了jmxtools.jar这个jar包,没有下载的小伙伴可以关注一下微信公众号二维码,然后发送关键字jmxtools即可。

MBeanServer server = ManagementFactory.getPlatformMBeanServer();
ObjectName helloName = new ObjectName("jmxBean:name=hello");
//create mbean and register mbean
server.registerMBean(new Hello(), helloName);
ObjectName adapterName = new ObjectName("HelloAgent:name=htmladapter,port=8082");
HtmlAdaptorServer adapter = new HtmlAdaptorServer();
server.registerMBean(adapter, adapterName);
adapter.start();
Thread.sleep(60 * 60 * 1000);

web界面查看如下

博主微信公众号

posted on 2020-08-26 21:18  幕友皎敖奔乾  阅读(1126)  评论(0编辑  收藏  举报

导航