翻譯:JMX規范version1.2
JMX組件概述
下面列出了JMX架構每一層中的關鍵組件,并將在接下來的部分進行介紹。
1.工具層(Instrumentation Level)
a.MBeans(標準的,動態的,開放的和模型MBeans)
b.通知模型
c.MBean元數據類
2.代理層(Agent Level)
a.MBean Server
b.代理服務
工具層的組件
工具層的主要組件就是MBean設計模式,通知模型和MBean元數據類。
MBeans
MBean是實現了一個特定接口,并遵從某一設計模式的Java對象。這要求在MBean中規范化資源管理接口的表現形式。資源的管理接口包含所有需要的信息,以及管理程序需要在資源上進行的操作的控制。
MBean的管理接口表現為如下幾種:
1.可以被訪問的屬性;
2.可以被調用的操作;
3.可以被發布的通知;
4.MBean類的構造子。
MBeans通過它們的公共方法封裝屬性和方法,沿襲設計模式暴露它們給管理程序。例如,在標準MBean中一個只讀的屬性只有getter方法,而可讀寫的屬性則既有getter方法,又有setter方法。
任何作為MBean來實現的對象,并且在代理中注冊,則它可以在代理所在的JVM以外進行管理。這些對象包括:
1.程序所管理的資源;
2.為幫助管理資源提供的增值服務;
3.能被管理的JMX基礎結構組件。
其他的JMX組件,例如代理服務,被指定為工具MBeans,使它們能受益于JMX的基礎結構,并提供管理接口。
JMX架構并沒有強行限制編譯好的MBean類的儲存位置。它們可以放在任何代理的JVM的classpath指向的位置,如果使用了類載入(class loading)它們也可以放在一個遠程的站點。
JMX規范定義了四類MBean:標準MBean、動態MBean、開放MBean和模型MBean。每一種MBean需要一種不同的工具。
1.標準MBeans(Standard MBeans)設計和實現是最簡單的,這類MBean使用自己的方法名作為管理接口;
2.動態MBeans(Dynamic MBeans)必須實現一個指定的接口,由于動態MBeans在運行期間暴露它們的管理接口,因此更為靈活;
3.開放MBeans(Open MBeans)屬于動態MBeans,這類MBean依靠基礎數據類型來實現通用管理,并為友情用戶進行自我聲明;
4.模型MBeans(Model MBeans)同樣也是動態MBeans,這類MBeans是完全可配置的,在運行期間進行自我聲明;它們為資源動態工具提供一個一般性的,有默認行為的MBeans類。
通知模型(Notification Model)
JMX規范定義了基于Java事件模型的一般性通知模型。通知可以被MBean的實例和MBean server發布。規范中指明通知的發送和接受者必須實現通知對象、廣播和監聽接口。
JMX的實現可以提供通知模型發布的服務,來使管理程序遠程偵聽MBean模型和MBean
server的事件。如何完成通知模型的發布超出了本部分規范的范圍。規范的后面將討論高級通知服務,例如管理程序取回通知進行轉發和保存。
MBean元數據類
工具規范定義了MBean的管理接口的類。這些類用來定義構建發布MBean管理接口的標準信息結構。在代理層的MBean server的一個功能是提供MBeans的元數據。
元數據類包含描述MBean的管理接口的所有組件的結構:屬性、操作、通知和構造子。每一個元數據類包含有名字、描述和它的特性。例如,屬性的特性是它為只讀、只寫還是可讀寫;操作的特性是它的參數的標識和返回類型。
不同類型的MBean擴展元數據類來提供附加的信息。通過繼承,標準信息總是可用的,知道如何訪問子類的管理程序可以獲得額外的信息。
代理層的組件
代理層的關鍵組件是工具層的對象都在其中注冊的MBean server,和使JMX代理體現更自主和性能更好的智能管理可用的代理服務。
MBean Server
被管理Bean的服務,簡稱MBean
server,用來注冊在代理中暴露給管理操作的對象。任何注冊在MBean server中的對象對于管理程序都是可見的。MBean
server只暴露MBean的管理接口,而不是直接暴露對象的引用。
任何系統在代理JVM以外管理的資源都必須在MBean server中作為MBean注冊。MBean
server也提供一個標準化的接口,給同一個JVM來訪問MBeans,為本地對象提供手工可管理資源的所有好處。MBeans可以通過一下幾類來實例
化和注冊:
1.其他的MBean;
2.代理本身;
3.遠程管理程序(通過分布式服務)
注冊MBean的時候,必須為它指定一個唯一的對象名(Object Name)。管理程序用這個對象名來標識執行管理操作的對象。MBean可用的操作包括:
1.發現MBean的管理接口;
2.讀寫MBean的屬性;
3.執行MBean定義的操作;
4.基于對象名或者屬性值來查詢MBean。
MBean
server通過協議適配器和連接器使代理的JVM外的管理程序可以訪問代理。通過指定的協議每種適配器提供所有注冊在MBean
server中的MBean的實例的視圖。例如,HTML適配器可以顯示MBean到Web瀏覽器。協議適配器提供的視圖因協議的不同而不同,在本規范中
不對其進行討論。
連接器提供用來處理管理和代理之間通信的管理方接口。即使是不同的協議,每個連接器都提供相同的遠程接口。當遠程管理程序使用這些接口時,它就可以通過網
絡透明的連接到代理,而不需要知道相關的協議。遠程管理接口規范在JSR160“JMX Remoting 1.2”中進行討論。
適配器和連接器使所有的MBean server操作對于遠程管理程序可用。對于一個被管理的代理,它必須包含至少一個協議適配器或者連接器。代理也可以擁有多個適配器和連接器,使它可以被不同的管理者,通過不同的協議進行管理。
代理服務(Agent Services)
代理服務是可以在注冊在MBean
server中的MBean上執行管理操作的對象。通過在代理上包含智能管理,JMX可以幫助你構建更加強大的管理解決方案。代理服務通常是允許它們和它
們的功能通過MBean server進行控制的MBeans。JMX規范定義了一下幾種代理服務:
1.通過管理服務小程序從任意網絡位置取回和實例化新的類和本地庫動態載入類,實現動態的載入類;
2.觀察MBean數字或字符串型的屬性,并能通知其他對象某些類型改變了的監視器;
3.提供一個一次報警通知或者是重復的,周期的通知的定時機制的定時器;
4.定義MBeans之間關聯和執行基于預定義關系類型關系的關系服務。
所有的代理服務托管在一個遵從JMX的實現中。
綜述
本部分指明了關于實現遵從JMX工具和代理規范(Version 1.2)的工具層和代理層的托管組件。
工具層(Instrumentation Level)
遵從JMX工具規范(Version 1.2)的實現必須提供在第2章“MBean
工具”、“第3章”開放MBeans“和第4章”模型MBean“中說明的所有組件。它包括通過Javadoc工具生成的相應的API文檔中定義的相關
類。這些組件為標準和動態的MBean提供了支持。
代理層(Agent Level)
遵從JMX代理規范(Version
1.2)的實現必須提供在第二部分”JMX代理“中指定的所有組件。它包括MBean
server的實現,代理服務和通過Javadoc工具生成的相應的API文檔中定義的相關類。因此所有指定的四種服務的實現是必須的。
posted on 2005-02-03 14:13
非飛 閱讀(615)
評論(0) 編輯 收藏 所屬分類:
JMX