国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

為Web應用建立基于JMX的管理系統

2019-11-18 15:44:25
字體:
來源:轉載
供稿:網友

  Web應用系統總算開發了,接下來該如何讓客戶(Web應用系統的治理員)輕松治理我的一堆配置文件,或者如何實現動態修改系統運行屬性,同時又讓客戶不需要過多的了解配置文件的內容就能夠實現這些治理呢?這是許多剛剛結束Web應用系統前期開發的系統分析人員需要面臨的問題。又或者說我想對早已完成Web應用系統進行有效的資源治理,希望再添加治理功能的同時,對原有的代碼不需要做過多的修改,換句話說就是治理系統與被治理的應用系統做到很好的隔離。JMX的治理框架(圖1)為你很好的解決了這些問題。

為Web應用建立基于JMX的治理系統(圖一)



  JMX(java Management Extensions)是來治理網絡,設備,應用程序等資源,它描述了一個可擴展的治理體系結構,并且提供了JMX API和一些欲定義的java治理服務。在撰寫本文時,JMX規范最新版本為v1.2(http://jcp.org/aboutJava/communityPRocess/final/jsr003/index3.Html),JMX參考實現的最新版本為v1.2.1(http://java.sun.com/prodUCts/JavaManagement/)。JMX推出后,一些大型的項目就立即采用了基于JMX的實現框架,例如Jakarta tomcat和JBoss,這從分說明JMX的可行性和良好的特性。

  對于Web應用的治理往往是比較麻煩的,例如客戶手動的修改配置文件,開啟數據庫監控程序等等,假如要動態修改數據庫訪問方案或者監控用戶數,動態修改日志級別會更加麻煩,并且可能把系統的結構弄得凌亂,造成結構不良的惡果,更別說可擴展性了。JMX的分層結構以及高度的組件化,通過將各種資源封裝成MBean的方式,讓我們可以很低成本的實現對現有Web應用的擴展性很強的治理方案。

  本文以Tomcat作為Web服務器為例,具體的介紹如何使用JMX建立對Web應用的治理。對于JMX的概念性的東西、體系結構以及使用規范已經有不少的相關文檔,為了能夠更好的理解本文,在閱讀本文時請先參閱這些文檔,本文的筆墨將著重在應用和實現上。下圖(圖2)為JMX的基本框架圖(見JMX規范),,目的是給大家理解本文提供方便。

為Web應用建立基于JMX的治理系統(圖二)

  一、創建Web應用的治理系統

  對Web應用構建一個基于JMX的治理系統,我們需要做的事情有哪些呢?

  針對每一個需要治理的資源創建一個MBean的實例,這是JMX框架所要求的,有兩種類型的實例可供選擇,一種是直接治理資源的MBean,一種通過調用資源實例進行治理的MBean。

  編寫一個MBean描述文件,并描述每一個MBean,選擇基于xml的MBean描述文件是一個不錯的決定。

  通過讀MBean描述文件,生成MBeanInfo,從而生成一個個MBean。

  將需要進行治理的MBean注冊到MBean Server當中。

  編寫客戶端代碼,選擇Web的方式進行客戶端的編碼比較Web應用的風格,也比較輕易實現。

  那么一個基于JMX的Web應用的治理框架已經成形,圖3是它的基本結構圖,虛線部分為基于JMX的治理系統。接下來我們按照步驟實現整個治理系統。

為Web應用建立基于JMX的治理系統(圖三)



  二、獲得MBeanServer的實例

  有兩種方案獲得MBeanServer的實例。

  1、通過獲得Web服務器的MBeanServer的實例,這樣做的好處是通過該MBeanServer對本身,甚至可以實現對Web服務器的自身的一些治理。Tomcat的治理框架也是建立JMX的基礎上,它使用的JMX的實現是MX4J,這是一個非常優秀的JMX開源項目,在tomcat4.1.27中,MBeanServer的實例存放與屬性名為"org.apache.catalina.MBeanServer"的application變量(Web應用中變量的幾種范圍:page,request,session,application)中,因此servlet中獲得MBeanServer實例的辦法:
  server = (MBeanServer) 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 齐齐哈尔市| 正蓝旗| 太仆寺旗| 泌阳县| 永城市| 鞍山市| 高阳县| 松阳县| 双柏县| 夏河县| 上饶县| 田东县| 开化县| 高尔夫| 宜良县| 博野县| 香格里拉县| 洪江市| 阿合奇县| 温州市| 米泉市| 彭州市| 葫芦岛市| 库尔勒市| 忻城县| 广元市| 安龙县| 玛多县| 芒康县| 稻城县| 江北区| 邵武市| 浮梁县| 桐乡市| 陕西省| 宜城市| 渝北区| 邵阳县| 陆川县| 济宁市| 平泉县|