麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久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.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 精品成人av一区二区三区 | 成人免费毛片一 | 国产一区二区午夜 | 色婷婷a| 色女生影院 | 爱福利视频网 | 日韩字幕 | 免费一级高清毛片 | 欧美亚洲一区二区三区四区 | h视频免费在线 | 欧美在线观看视频网站 | 激情五月少妇a | 欧美老外a级毛片 | 久久亚洲春色中文字幕久久 | 嫩呦国产一区二区三区av | 亚洲va久久久噜噜噜久牛牛影视 | 九九热在线免费观看视频 | 欧美日本免费一区二区三区 | 九九热视频这里只有精品 | 91久久综合 | 中国videos露脸hd | www亚洲成人 | 久久免费视屏 | 欧美18—19sex性护士中国 | 久久久久久久久久性 | 久久久久久久久久久久久久国产 | 一级美女大片 | 成年免费视频黄网站在线观看 | 日本成人一区二区 | 国产精品久久久久久久四虎电影 | 人人看人人艹 | 欧美3p激情一区二区三区猛视频 | 国产在线免费 | av免播放| av电影在线观看免费 | 韩国一级免费视频 | 红杏网站永久免费视频入口 | 成人一区二区三区四区 | 午夜伊人 | 久色乳综合思思在线视频 | 久久久久亚洲视频 |