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

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

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

    linugb118--java space

    Java

    jolokia 剛認識

    一直以來,經常看到JMX這個keyword,于是就想什么時候研究一下,看了半天的材料,看得云里霧里,大概的意思好像就是說,各式可以的系統
    分布在任何地方,如何統一去管理,去監控,于是sun就引入了jmx的概念。
    但是具體怎么,如何使用,心里不清楚,直接看jms spec很吃力,忽然之間想,可以先從現有的jmx 框架去一個個研究,或許就能慢慢理解他的含義。

    首先選擇Jolokia:
    http://www.jolokia.org。

    他們的官方描述是:
    Jolokia is a JMX-HTTP bridge giving an alternative to JSR-160 connectors. It is an agent based approach with support for many platforms. In addition to basic JMX operations it enhances JMX remoting with unique features like bulk requests or fine grained security policies.

    廢話少說,先下載安裝再說。

    在jolokia的Artifact 里面有面向不同框架方面的相關產品,
    我下載了jolokia.war  他應該表示j2ee 應用服務,將 war部署到tomcat后
    訪問http://127.0.0.1:8080/jolokia
    發現輸出為
    {"timestamp":1298621555,"status":200,"request":{"type":"version"},"value":{"protocol":"4.1","agent":"0.83","info":{"product":"tomcat","vendor":"Apache","version":"6.0.18"}}}

    這是一串json字符串,里面是jmx信息,其中有我放入的容器是tomcat以及它的版本。
    我想 如果我將war放入weblogic 或者其他j2ee 容器,應該對象的輸出會有相關的j2ee的信息。


    Artifact里面還有osgi和jvm的,因為osgi不是很熟,暫時就不研究,那么在開始jvm對應的jar
    研究jvm 首先要了解javaAgent 參數的含義,為此先補一下-javaAgent 參數的知識。
    具體可以參考
    http://i-giraffe.com/2010/12/javaagent-example/
    這里簡要概括一下這個參數的含義,javaAgent 在main方法執行之前,執行agent的代碼;必須實現premain這個方法。
    因為是在main之前執行,那么可以運用在不修改現有程序來增強或修改軟件,或者熱啟動等等。

    接下來我們再回到jolokia jvm版本
    首先我們下載這個jolokia_jvm_agent.jar 改為agent.jar, 下面我們需要寫一個java application;
    代碼如下
    public class FirstThread extends Thread{//繼承Thread重寫run方法
    @Override
    public void run(){
       for (int i = 0; i < 300000; i++) {
        System.out.println(i);
     
       try {
        Thread.sleep(100);//停100毫秒
       } catch (InterruptedException e) {
        e.printStackTrace();
        }
       }
    }
    }

    //////////////////main
    public class MyProgram{
     public static void main(String[] args) {
      
      FirstThread fThread=new FirstThread();
         fThread.start();
         for (int i = 0; i < 300; i++) {
     
          try {
        Thread.sleep(100);
       } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
       }
     }
    }
    }

    我們打包為demo.jar
    在cmd 命令下執行 java -javaagent:agent.jar -jar demo.jar
    執行后我們訪問
    http://127.0.0.1:8778/jolokia/
    會出現json的jmx 信息
    {"timestamp":1299226883,"status":200,"request":{"type":"version"},"value":{"protocol":"4.1","agent":"0.83","info":{}}}

    這里需要注意兩點
    如果我訪問
    http://127.0.0.1:8778/jolokia 則會出現404

    另外如果上面的線程循環很小,一會兒就結束了,那么這個時候再訪問就會找不到服務器。
    另外agent的端口和host都可以通過參數來設定,具體可以查看jolokia jvm 相關的網頁。
    到目前為止,jolokia for jvm也演示結束了。

     

     

     

     

     

     


     

    posted on 2011-03-04 16:40 linugb118 閱讀(1742) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    My Links

    Blog Stats

    常用鏈接

    留言簿(1)

    隨筆檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: caoporm碰最新免费公开视频| 33333在线亚洲| 污污免费在线观看| 日本媚薬痉挛在线观看免费| 亚洲熟妇AV一区二区三区浪潮| 国产免费不卡v片在线观看| 亚洲综合激情另类小说区| 人妻丰满熟妇无码区免费 | 国产亚洲精品va在线| CAOPORM国产精品视频免费| 免费国产成人高清视频网站| 亚洲AV日韩AV一区二区三曲| 国产一区二区三区免费视频| 无遮挡a级毛片免费看| 国产精品亚洲玖玖玖在线观看| 特黄特色大片免费| 亚洲区小说区图片区QVOD| 叮咚影视在线观看免费完整版| 亚洲AV午夜成人影院老师机影院| 99久久国产免费中文无字幕| 亚洲中文字幕在线无码一区二区| 特级做A爰片毛片免费69| 国产精品亚洲va在线观看| 亚洲午夜精品久久久久久浪潮| 日韩免费高清播放器| 亚洲成a人片在线观看中文!!!| 成人免费无毒在线观看网站 | 国产亚洲精品自在久久| 久久精品成人免费看| 亚洲一卡2卡4卡5卡6卡在线99| 日本不卡免费新一二三区| 巨胸喷奶水www永久免费| 亚洲午夜久久久精品影院| 好大好硬好爽免费视频| 一级**爱片免费视频| 亚洲韩国在线一卡二卡| 破了亲妺妺的处免费视频国产 | 国产免费伦精品一区二区三区| 中文字幕亚洲色图| 国产免费69成人精品视频| 野花香在线视频免费观看大全|