【JavaWeb學習】JMX用法

JMX介紹

JMX(Java Management Extension)是爲一個應用程序植入管理功能的框架。說的很抽象,JMX的最主要的應用場景是對中間件的監控,配置文件的在線修改。

基本用法

通常一個MBean需要定義一個接口,以MBean結尾, 例如: TaskMBean, 格式爲XXXMBean,這個是規範,必須得遵守.

public interface TaskMBean {
	// 如果想要修改屬性,必須有get和set方法
	void setTask(String task);
	String getTask();

	void printTask();
}

public class Task implements TaskMBean {

	public String getTask() {
		return task;
	}

	public void setTask(final String task) {
		this.task = task;
	}

	private String task = "task";

	public void printTask() {
		// TODO Auto-generated method stub
		System.out.println("打印:" + task);
	}

}

然後我們將MBean註冊到MBeanServer

public class AppApplication {

	public static void main(final String[] args) throws Exception {
		// 工廠方法獲取MBeanServer
		MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
		// 創建待發布的MBean
		Task task = new Task();
		// 將MBean註冊到MBeanServer,這樣就可以通過Jconsole查看
		// ObjectName是用來唯一標識MBean的
		mBeanServer.registerMBean(task, new ObjectName("myBean:name=task"));
		while (true) {
			Thread.sleep(10000);
		}
	}

}

然後運行程序,就可以通過Jconsole工具(jdk/bin目錄下)查看Task在JMX上的註冊情況了。
在這裏插入圖片描述
選擇本地進程,點擊剛剛啓動的項目名稱AppApplication,點擊連接,我們從Jconsole的視圖標籤中見到,JConsole通過JMX展示的信息都是Java程序的通用信息,如內存情況、線程情況、類加載情況等,換言之,只要是Java程序就都具備這些信息。這些信息爲我們優化程序性能、排查BUG非常有用。
在這裏插入圖片描述
點擊MBean找到我們暴漏的類。
在這裏插入圖片描述
然後點擊printTask執行該方法。然後在點擊task修改task屬性,然後再次點擊task屬性,修改task的值,然後再次點擊printTask,發現屬性已經更改了。

方法。然後在點擊task修改task屬性,然後再次點擊task屬性,修改task的值,然後再次點擊printTask,發現屬性已經更改了。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章