<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    我的理解--關于jmx

    http://bhsc-happy.iteye.com/blog/678163
    http://www.cnblogs.com/Javame/p/3881187.html
    JMX Java Management Extensions,Java管理擴展,初步看了些資料,以為是專門管理,監控jvm的一些信息的,特別是visual VM這個監控jvm的東西,還有一個添加JMX連接的時候(我自己想錯了,那樣的話應該叫jvm Management Extensions),其實他能使得基于java語言開發的程序能被管理,并且是可擴展的。 Jdk以前是通過JVMPI之類來監測Java程序運行中的jvm和系統的一系列情況,現在通過jmx就可以做到,這是通過java.lang.management 包來實現的,這個包是 JMX 在 JDK方面 的一個應用,并不是表示jmx就是一個監控jvm的東西。 我們可以用jmx來監控我們的系統,通過公布API的方式,但是,這里采用監控這個詞,也是受了前面的例子的影響,實際上,個人覺得,就可以用jmx來開發我們的系統。 現在的jboss,hibernate,tomcat各種應用都號稱實現了JMX規范,將可管理,可調用的MBean注冊到MBeanServer中,通過一種類似“web服務”的方式公布出去,并且伴有一個名字,可以通過該名字找到該MBean。并且,這里的MBean是可以被管理的,說到這里又想到了OSGI。 JMX與Web Service 個人認為,我們實現JMX規范,將東西發布出去,和通過web Service的方式是很類似的,也是可以遠程調用的,只是相對的web Service的方式更加SOA一些,不過JMX號稱也要提供對非java客戶端的支持,也就是跨語言了吧。。。 現在的JMX連接方式: JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:9999/server"); JMXConnector jmxc = JMXConnectorFactory.connect(url, null); 看了下源碼,貌似還是通過RMI來實現的,不知道它要怎么實現非java客戶端支持。 從這里,我覺得JMX可以實現的,我們也都可以通過web Service實現,只是看在它有個“M”上,以后如果有什么系統管理,監控方面的,可以考慮使用它,也許開發,個人覺得還是使用web service好一些。 說到這里,感覺OSGI與JMX也好像,在看到JMX能夠對MBean進行管理的時候,我就覺得跟OSGI很像,OSGI管理的是Bundle,找了找資源,原來早就有人考慮過了: http://teamojiao.iteye.com/blog/438334 順便,在查資料的時候,發現一個東西, if your question means, how to manage an OSGi runtime with JMX, you should have a look at MAEXO (http://code.google.com/p/maexo/). With MAEXO bundles up and running you will transparently get MBeans for a fair amount of services of the OSGi runtime as well as MBeans for your own services and bundles. Just have a look at the screencast. 摘一些話:僅做參考 <網友回復> 一個大系統中,各內部模塊系統之間的基于接口方式的互相調用和治理,使用jmx是最佳方案. 帶來的好處是 1.面向接口,遠程調用對于開發人員是透明的,模塊在調用jmx接口時,與調用本地方法幾乎相同. 2.可視化的治理界面, 通過 Jconsole等jmx客戶端,可以實時監控系統,并且可實時調用方法進行某些操作. 典型應用場景:  某聊天系統,一臺服務器作為 在線用戶列表服務器 A1, n臺服務器為用戶提供聊天業務處理 N1 ,N2,N3..., 一臺服務器作為后臺治理系統A2.  系統治理員現在進行下面這樣一個操作,察看某用戶是否在線,找到該用戶,發現其在線,則將該用戶加入黑名單,并踢下線. 對應的jmx接口可以由以下幾個:  A1為A2提供查詢在線用戶jmx接口,加入黑名單接口,kickout接口, A1為N1..等服務器提供以下接口: 注冊業務服務器,添加在線用戶.查找黑名單用戶 N1...到N3為A1提供kickout接口. 因此在上面的踢下線操作,則由用戶在A2的web界面發出,交由A1執行,A1記錄黑名單之后,再找到用戶所在業務服務器調用N1提供的接口讓用戶下線. 以上情形是在生產環境下的部署,而在開發工作,則可以將A1,A2,N...N3等功能合并在一個應用中調試. 由于使用的是jmx接口,在本地調試合并之后,可以直接調用應用內部接口方法. 這樣借助jmx實現的應用模塊的靈活組裝與拆分,使得系統的可以根據負載需要,根據性能情況,靈活的拆分和整合部署分布式的應用. 替代方案,選擇webservice,xmlrpc等,但是這些都需要手工編寫或用工具生成大量的代碼來輔助完成接口間的java對象序列化 。 經典jmx案例: 1.Jboss.使用jmx治理內部的各個service。 2. 基于java的開源網管軟件 Hyperic HQ ,通過jmx與各被治理資源進行通訊和信息采集. <網友回復>JMX是一個治理的框架。 當我們想使用JMX的時候,就要問,我們的系統當中有需要監控治理的資源或者對象嗎?實事求是一點,我們不能為了想使用一個高端的技術,就歪曲系統的本來面目。 假如第一個問題是肯定的,接下來就是看這些資源是否有生命周期。 經典案例:jboss就是將所有可部署的組件作為資源來治理,這些組建都有其生命周期。這個理念甚至延伸到了其系統內部,將其內部的服務作為組件納入到 JMX中來,成就了jboss基于jmx的微內核系統。

    posted on 2016-06-20 09:40 youngturk 閱讀(155) 評論(0)  編輯  收藏 所屬分類: 筆試題

    <2016年6月>
    2930311234
    567891011
    12131415161718
    19202122232425
    262728293012
    3456789

    導航

    統計

    公告

    this year :
    1 jQuery
    2 freemarker
    3 框架結構
    4 口語英語

    常用鏈接

    留言簿(6)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    相冊

    EJB學習

    Flex學習

    learn English

    oracle

    spring MVC web service

    SQL

    Struts

    生活保健

    解析文件

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 老外毛片免费视频播放| 亚洲熟妇少妇任你躁在线观看| 性色av极品无码专区亚洲| 国产成人精品免费视频网页大全| 亚洲VA中文字幕无码一二三区 | 亚洲AV无码一区二区一二区 | 精品亚洲成a人在线观看| 精品国产免费观看久久久| 亚洲成a人片在线不卡一二三区| 成人免费视频软件网站| 亚洲heyzo专区无码综合| 波多野结衣视频在线免费观看| 高潮毛片无遮挡高清免费| 亚洲色成人网站WWW永久| 免费h视频在线观看| 亚洲国产模特在线播放| 成人免费午间影院在线观看| 亚洲av午夜电影在线观看| 亚洲综合国产精品第一页| 免费无码作爱视频| 亚洲欧洲精品在线| 永久久久免费浮力影院| 一区二区免费电影| 97se亚洲综合在线| 免费黄色毛片视频| a级午夜毛片免费一区二区| 亚洲视频中文字幕在线| 国产精品色午夜免费视频| 一级**爱片免费视频| 91大神亚洲影视在线| 国产免费观看网站| 久草福利资源网站免费| 亚洲日本VA中文字幕久久道具| 亚洲av成人一区二区三区在线观看 | 四虎影视www四虎免费| 一级毛片免费在线观看网站| 亚洲AV日韩AV永久无码免下载| 免费av欧美国产在钱| xxxxx做受大片视频免费| 久久精品国产亚洲av影院| 国产小视频免费观看|