麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

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

JMX架構的了解

2019-11-18 14:02:45
字體:
來源:轉載
供稿:網友

  JMX應該說是關于網絡應用治理的的框架,假如你開發了一個比較復雜的系統,無疑你要提供這個系統的自身治理 系統,JMX更多應用是體現在Server上,假如你要使用java開發一個自己Server或復雜的應用系統,那么推薦你基于JMX架構來開發, JBoss 3.0 weblogic等就是基于JMX開發的符合J2EE規范的服務器軟件。 

了解JMX可以使你深入了解J2EE服務器, 為什么我們平時說 "EJB"是個比較"Weight"的方案選擇,其中一個原因是J2EE服務器軟件本身 也是你的系統中一部分,它作為你系統的容器,對你的系統有至關重要的作用,假如無法直接介入 治理或“調教”它,那么無疑你的系統本身存在著隱含的危險, 現在,通過JMX,你現在可以深入到你J2EE容器內部的治理了。 (似乎國內出現了第一個自己J2ee服務器,不知道那是不是基于JMX開發的?) 

J2EE并不能概括所有的應用領域,比如對速度和性能要求極高的游戲或股票行情等系統就需要自己直接來開發Server, 假如是能夠基于JMX開發,那么可以說就大大提高編寫治理程序的效率,可以將你的模塊變成JMX的MBean,可以通過Agent在程序內部或者通過 WEB治理頁面對你的MBean模塊進行初始化 重啟 以及參數設置。

JMX的好處還有:可以方便整合連接現有的Java技術,如JNDI JDBC JTS及其它。非凡是能夠使用Jini的查詢 發現機制以及協議,我們知道,Jini提供了一種服務的查詢和發現機制,這些services都可以通過JMX 來實現治理。

現在我們開始JMX的了解:

1.到java.sun.com首頁的JMX頁面,下載JMX的規定說明和Samples程序。
2.按照JMX的說明進行一次Tutorial,了解如何加入 刪除 配置一個MBean,Tutorial中是以SimpleMBean為例,那么我們能否建立一個自己的MBean?

我們來做一個Hello 的MBean,這里有一個小要害點,你的class取名有個規則, 需要以MBean為結尾,如這里我們取名為HelloMbean:


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

將出現Create SUCcessful信息。進入MBean View 給Name賦值,點按Apply ,然后再按print,這是你的Hello中的方法,在控制臺你會看到輸出。

是不是很驚異Hello中的 attributes 和operations能被動態的訪問和控制? 已經隱約感到JMX的架構原理了吧?

下面再深入明確一些概念:
上面HelloMBean資源是通過admin這樣的HTTP WEB界面治理,這種治理資源方式是屬于JMX的Distributed服務層, JMX 通過Distributed層能夠部署和治理MBean資源。就象上面的例子,是通過HtmlAdaptor提供的HTTP WEB界面來方面的維護治理HelloMBean.

那么我們能否在程序中自動治理和部署我的MBean?當然可以,這是通過Agent層來完成,現在我們已經有了這個層次,MBean所在的資源層,
最外面的Distributed服務層,Distributed服務層是通過Agent層來訪問MBean資源的,看看下面來自Sun公司JMX規定的架構圖:


JMX架構的了解
點擊查看大圖

從圖中看出,Agent Level(Agent層)包括MBean Server和Agent Services,那么我們來做一個上面例子HelloMBean的Agent:

// CREATE the MBeanServer
//
System.out.println("/n/tCREATE the MBeanServer.");
MBeanServer server = MBeanServerFactory.createMBeanServer();

// CREATE Registe HelloMBean
//
System.out.println("/n/tCREATE, REGISTER a new Hello Standard_MBean:");
HelloMBean helloMBean = new Hello();

ObjectName hello_name = null;
try {
hello_name = new ObjectName("Standard_Hello_MBeans:name=Hello,number=1");
System.out.println("/tOBJECT NAME = " + hello_name);

//將HelloMBean注冊到MBeanServer中去
server.registerMBean(helloMBean, hello_name);
}
catch (Exception e) {
e.printStackTrace();
return;
}

向MBeanServer注冊后,以后JMX就知道有了這個HelloMBean資源。

治理一個agent的MBean資源或使用它提供的服務必須通過一個protocol adaptor 或者connector,adaptor 或者connector屬于Distributed layer level(Distributed服務層),我們上面例子中通過HTTP WEB界面治理HelloMBean就是瀏覽器通過HtmlAdaptor這個adaptor來實現的。

通過本篇文章,你應該大體了解了JMX的架構和一些原理和應用,再深入可以研究SUN的JMX Specification.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 一级做a爰片性色毛片2021 | 中文字幕精品一二三四五六七八 | 亚洲成人网一区 | 草逼一区 | 成人国产精品免费 | 黄色片在线播放 | 欧美成人激情在线 | 欧美三日本三级少妇三级99观看视频 | 午夜国产福利 | 午夜精品老牛av一区二区三区 | 久久成人免费观看 | 国产乱淫av| 深夜精品福利 | 爱高潮www亚洲精品 国产精品一区自拍 | 久久逼网 | 亚洲一区二区免费 | 激情大乳女做爰办公室韩国 | 失禁高潮抽搐喷水h | 欧美18—19sex性护士中国 | 少妇一级淫片免费放4p | 看中国一级毛片 | 亚洲综合视频在线播放 | 欧美日韩在线视频一区 | 一区二区国产在线 | 亚洲午夜天堂吃瓜在线 | h视频在线播放 | 一级电影免费 | 少妇一级淫片免费看 | 欧美日韩成人一区二区 | av免费在线免费观看 | 9丨九色丨国产 | 男女牲高爱潮免费视频男女 | 成人免费看毛片 | 4399一级成人毛片 | 亚洲日色 | av在线一区二区三区四区 | 欧美性色大片 | 精品国产一区二区三区久久久蜜月 | 日本高清电影在线播放 | 成av人在线观看 | av在线免费观看不卡 |