微核心MicroKernel與JMX__jboss

來源:互聯網
上載者:User

微核心源自作業系統設計,例如“Linus vs. Tanenbaum微核心論戰”。就像許多程式設計語言、架構從作業系統設計中借鑒技術一樣,JBoss、Spring、OSGi中也有微核心的概念。

micro kernel就是為了實現外掛程式化plugin,實現模組化、可插拔等特性。微核心架構負責管理plugin,它只提供類似這種管理功能的最小功能集。其他的功能特性由plugin去完成。

下圖顯示了JBoss中使用JMX(Java Management Extension)技術,作為組件插入的匯流排(Bus,也可稱為integration spine)。其中組件實現為MBean Service由JBoss載入管理。



一、JMX

JMX是從java中管理、監控各種軟體、硬體組件的標準。進一步的,JMX致力於對現存各種管理標準的整合。

JMX的介面定義在javax.management包下。

JMX模型分為三層;

1、Instrumentaion:即被管資源。

本質上可以是任何東西,例如application、service、device。

該層也定義了通知機制,以允許MBean與其所在環境進行通訊,例如屬性改變通知、狀態變化通知等等。

2、Agents:Instrumentation層被管對象的控制器controller

3、Distributed services:管理應用程式可以與agent和agent管理的對象互動的機制



二、JMX的MBean

一個MBean是實現了JMX中定義的MBean介面、並遵從相關設計模式的java對象。被管資源經由MBean暴露了必要的資訊和操作,可供管理應用存取控制。

MBean的管理介面包括四個方面:

1、可通過名字訪問的屬性attribute

2、可被調用的操作operation或功能function

3、可發送的通知notification或事件event

4、MBean對應java類的構造器


JMX定義了4中MBean:

1、standard mbean

遵循java bean命名規範的java類(。。)

2、dynamic mbean

實現了javax.management.DynamicMBean介面。它在運行時暴露其管理介面,已提供最大的靈活性。JBoss針對被管組件直到運行時才知曉的情況使用dynamic mbean。

3、open mbean

擴充自dynamic mbean。它依賴於基礎的、自描述的、方便使用的資料類型,以滿足通用管理性。

4、model mbean

擴充自dynamic mbean,實現了javax.management.modelmbean.ModelMBean介面,提供預設的行為用以簡化實現。JBoss中的XMBean是其一種實現。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.