2.1.3.3 代理服務
代理服務可以對注冊的管理構件執(zhí)行管理功能。通過引入智能管理,JMX可以幫助我們建立強有力的管理解決方案。代理服務本身也是作為管理構件而存在,也可以被MBean服務器控制。
JMX規(guī)范定義了代理服務有:
1)動態(tài)類裝載--通過管理小程序服務可以獲得并實例化新的類,還可以使位于網絡上的類庫本地化。
2)監(jiān)視服務--監(jiān)視管理構件的屬性值變化,并將這些變化通知給所有的監(jiān)聽者。
3)時間服務--定時發(fā)送一個消息或作為一個調度器使用。
4)關系服務--定義并維持管理構件之間的相互關系。
1.動態(tài)類裝載
動態(tài)類裝載是通過m-let(management applet)服務來實現(xiàn)的,它可以從網絡上的任何URL處下載并實例化管理構件,然后向MBean服務器注冊。在一個M-let服務過程中,首先是下載一個m-let文本文件,該文件是XML格式的文件,文件的內容標識了管理構件的所有信息,比如構件名稱、在MBean服務器中唯一標識該構件的對象名等。然后根據這個文件的內容,m-let服務完成剩余的任務。下圖例示這一過程:
2.監(jiān)視服務
通過使用監(jiān)視服務,管理構件的屬性值就會被定期監(jiān)視,從而保證始終處于一個特定的范圍。當監(jiān)視的屬性值的變化超出了預期定義的范圍,一個特定的通告就會發(fā)出。JMX規(guī)范當前規(guī)定了三種監(jiān)視器:
1)計數(shù)器監(jiān)視器,監(jiān)視計數(shù)器類型的屬性值,通常為整型,且只能按一定規(guī)律遞增。
2)度量監(jiān)視器,監(jiān)視度量類型的屬性值,通常為實數(shù),值能增能減。
3)字符串監(jiān)視器,監(jiān)視字符串類型的屬性值。
每一個監(jiān)視器都是作為一個標準管理構件存在的,需要提供服務時,可以由相應的管理構件或遠程管理應用程序動態(tài)創(chuàng)建并配置注冊使用。
下圖例示了計數(shù)器監(jiān)視器的使用情況:
3.時間服務
時間服務可以在制定的時間和日期發(fā)出通告,也可以定期的周期性的發(fā)出通告,依賴于管理應用程序的配置。時間服務也是一個管理構件,它能幫助管理應用程序建立一個可配置的備忘錄,從而實現(xiàn)智能管理服務。
4.關系服務
JMX規(guī)范定義了管理構件之間的關系模型。一個關系是用戶定義的管理構件之間的N維聯(lián)系。
關系模型定義如下一些術語:
1)角色:就是是一個關系中的一類成員身份,它含有一個角色值。
2)角色信息:描述一個關系中的一個角色。
3)關系類型:由角色信息組成,作為創(chuàng)建和維持關系的模板。
4)關系:管理構件之間的當前聯(lián)系,且必須滿足一個關系類型的要求。
5)角色值:在一個關系中當前能滿足給定角色的管理構件的列表。
6)關系服務:是一個管理構件,能接觸和維持所有關系類型和關系實例之間的一致性。
在關系服務中,管理構件之間的關系由通過關系類型確定的關系實例來維護。僅僅只有注冊到MBean服務器上并且能被對象名標識的管理構件才能成為一個關系的成員。關系服務從來就不直接操作它的成員--管理構件,為了方便查找它僅僅提供了對象名。
關系服務能鎖定不合理關系類型的創(chuàng)建,同樣,不合理的關系的創(chuàng)建也會被鎖定。角色值的修正也要遵守一致性檢查。
由于關系是定義在注冊的管理構件之間的聯(lián)系,所以當其中的管理構件卸載時,就會更改關系。關系服務會自動更改角色值。所有對關系實例的操作比如創(chuàng)建、更新、刪除等都會使關系服務發(fā)出通告,通告會提供有關這次操作的信息。
JMX關系模型只能保證所有的管理構件滿足它的設計角色,也就是說,不允許一個管理構件同時出現(xiàn)在許多關系中。
相關推薦:北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |