JMX基本構架
JMX分爲三層,分別負責處理不一樣的事務。它們分別是:node
Instrumentation 層
Instrumentation層主要包括了一系列的接口定義和描述如何開發MBean的規範。一般JMX所管理的資源有一個或多個MBean組成,所以這個資源能夠是任何由Java語言開發的組件,或是一個JavaWrapper包裝的其餘語言開發的資源。微信
Agent 層
Agent 用來管理相應的資源,而且爲遠端用戶提供訪問的接口。Agent層構建在Intrumentation層之上,而且使用並管理 Instrumentation層內部描述的組件。Agent層主要定義了各類服務以及通訊模型。該層的核心是一MBeanServer,全部的MBean都要向它註冊,才能被管理。註冊在MBeanServer上的MBean並不直接和遠程應用程序進行通訊,他們經過協議適配器(Adapter)和鏈接器(Connector)進行通訊。一般Agent由一個MBeanServer和多個系統服務組成。JMX Agent並不關心它所管理的資源是什麼。app
Distributed 層
Distributed層關心Agent如何被遠端用戶訪問的細節。它定義了一系列用來訪問Agent的接口和組件,包括Adapter和Connector的描述。
若是一個Java對象能夠由一個遵循JMX規範的管理器應用管理,那麼這個Java對象就能夠由JMX管理資源。要使一個Java對象可管理,則必須建立相應的MBean對象,並經過這些MBean對象管理相應的Java對象。當擁有MBean類後,須要將其實例化並註冊到MBeanServer上。學習
詳述
這裏採用的是JDK7,JDK7中已經包含了jmx,可是若是用到HtmlAdaptorServer類(後面會看到)還須要用到jmxtools.jar, 能夠去這裏下載,有兩個包:jmx-1_2_1-ri.zip; jmx_remote-1_0_1_03-ri.zip。jmx-1_2_1-ri.zip解壓後lib中有jmxri.jar和jmxtools.jar,將jmxtool.jar拷貝出來放入classpath中便可(jmxri.jar在JDK5+已經包被包含了)。
spa
關注「動力節點Java學院」微信公衆號,獲取更多有價值的Java相關資訊,最重要的是動力節點Java學院Java零基礎班現已開啓免費學習,對於想學Java的同窗無疑是好消息,親自考察教學質量,機會就在眼前,點擊「我要報名」。code