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界面查看如下

博主微信公眾號


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM