JMX應(yīng)該說是關(guān)于網(wǎng)絡(luò)應(yīng)用管理的的框架,如果你開發(fā)了一個比較復(fù)雜的系統(tǒng),無疑你要提供這個系統(tǒng)的自身管理 系統(tǒng),JMX更多應(yīng)用是體現(xiàn)在Server上,如果你要使用java開發(fā)一個自己Server或復(fù)雜的應(yīng)用系統(tǒng),那么推薦你基于JMX架構(gòu)來開發(fā), JBoss 3.0 weblogic等就是基于JMX開發(fā)的符合J2EE規(guī)范的服務(wù)器軟件。
了解JMX可以使你深入了解J2EE服務(wù)器, 為什么我們平時說 "EJB"是個比較"Weight"的方案選擇,其中一個原因是J2EE服務(wù)器軟件本身 也是你的系統(tǒng)中一部分,它作為你系統(tǒng)的容器,對你的系統(tǒng)有至關(guān)重要的作用,如果無法直接介入 管理或“調(diào)教”它,那么無疑你的系統(tǒng)本身存在著隱含的危險, 現(xiàn)在,通過JMX,你現(xiàn)在可以深入到你J2EE容器內(nèi)部的管理了。 (好像國內(nèi)出現(xiàn)了第一個自己J2ee服務(wù)器,不知道那是不是基于JMX開發(fā)的?)
J2EE并不能概括所有的應(yīng)用領(lǐng)域,比如對速度和性能要求極高的游戲或股票行情等系統(tǒng)就需要自己直接來開發(fā)Server, 如果是能夠基于JMX開發(fā),那么可以說就大大提高編寫管理程序的效率,可以將你的模塊變成JMX的MBean,可以通過Agent在程序內(nèi)部或者通過 WEB管理頁面對你的MBean模塊進(jìn)行初始化 重啟 以及參數(shù)設(shè)置。
JMX的好處還有:可以方便整合連接現(xiàn)有的Java技術(shù),如JNDI JDBC JTS及其它。特別是能夠使用Jini的查詢 發(fā)現(xiàn)機(jī)制以及協(xié)議,我們知道,Jini提供了一種服務(wù)的查詢和發(fā)現(xiàn)機(jī)制,這些services都可以通過JMX 來實(shí)現(xiàn)管理。
現(xiàn)在我們開始JMX的了解:
1.到j(luò)ava.sun.com首頁的JMX頁面,下載JMX的規(guī)定說明和Samples程序。
2.按照J(rèn)MX的說明進(jìn)行一次Tutorial,了解如何加入 刪除 配置一個MBean,Tutorial中是以SimpleMBean為例,那么我們能否建立一個自己的MBean?
我們來做一個Hello 的MBean,這里有一個小關(guān)鍵點(diǎn),你的class取名有個規(guī)則, 需要以MBean為結(jié)尾,如這里我們?nèi)∶麨镠elloMbean:
public interface HelloMBean {
// management attributes
public String getName();
public void setName(String name);
// management operations
public void print();
}
在這個Class里,有一個隱含attributes: name, 提供了set和get的方法,同時有一個操作方法print():
再定義一個concrete類:
public class Hello implements HelloMBean {
private String name = "";
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void print() {
System.out.println("Hello, " + name + "!!" );
}
}
這樣一個簡單的MBean就做好了,我們可以通過admin界面加入這個Hello,
再按 Tutorial啟動BaseAgent,在Agent Administration中參考Simple填入:
Domain: Standard_Hello_MBeans
Keys : name=Hello,number=1
Java Class: Hello
將出現(xiàn)Create Successful信息。進(jìn)入MBean View 給Name賦值,點(diǎn)按Apply ,然后再按print,這是你的Hello中的方法,在控制臺你會看到輸出。
是不是很驚奇Hello中的 attributes 和operations能被動態(tài)的訪問和控制? 已經(jīng)隱約感到JMX的架構(gòu)原理了吧?
下面再深入明確一些概念:
上面HelloMBean資源是通過admin這樣的HTTP WEB界面管理,這種管理資源方式是屬于JMX的Distributed服務(wù)層, JMX 通過Distributed層能夠部署和管理MBean資源。就象上面的例子,是通過HtmlAdaptor提供的HTTP WEB界面來方面的維護(hù)管理HelloMBean.
那么我們能否在程序中自動管理和部署我的MBean?當(dāng)然可以,這是通過Agent層來完成,現(xiàn)在我們已經(jīng)有了這個層次,MBean所在的資源層,
最外面的Distributed服務(wù)層,Distributed服務(wù)層是通過Agent層來訪問MBean資源的,看看下面來自Sun公司JMX規(guī)定的架構(gòu)圖:
文章題目:JMX架構(gòu)的了解(轉(zhuǎn))-創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://aaarwkj.com/article36/cdhesg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、定制開發(fā)、做網(wǎng)站、自適應(yīng)網(wǎng)站、網(wǎng)站排名
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源:
創(chuàng)新互聯(lián)