<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

    生活保健

    解析文件

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 免费中文熟妇在线影片| 国产92成人精品视频免费| 哒哒哒免费视频观看在线www| 亚洲婷婷第一狠人综合精品| 亚洲一级毛片免费在线观看| 久久综合亚洲色一区二区三区| 24小时在线免费视频| 亚洲一区二区三区高清视频| 一二三四在线播放免费观看中文版视频 | 亚洲丝袜中文字幕| 中文字幕人成无码免费视频| 亚洲av永久无码嘿嘿嘿| 女人18毛片免费观看| 亚洲a∨国产av综合av下载| 亚洲av片一区二区三区| 丁香花在线观看免费观看图片| 亚洲精品无码久久久影院相关影片| a级在线免费观看| 亚洲福利电影在线观看| 成人性生免费视频| 又大又硬又粗又黄的视频免费看 | 在线观看免费高清视频| 亚洲第一成年网站视频| 中文字幕精品亚洲无线码一区| 免费视频成人片在线观看| 亚洲天堂免费在线| 亚洲国产成人爱av在线播放| 你懂的在线免费观看| 亚洲专区一路线二| 亚洲免费无码在线| 天天影院成人免费观看| 亚洲精品无码不卡在线播放| 国产日韩成人亚洲丁香婷婷| 91免费国产精品| 婷婷亚洲综合五月天小说在线| 亚洲精品制服丝袜四区| 一个人免费观看视频www | 久久久久免费看黄a级试看| 国产成人精品亚洲日本在线| 亚洲偷自拍拍综合网| 国产91免费在线观看|