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

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

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

    xylz,imxylz

    關注后端架構、中間件、分布式和并發編程

       :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      111 隨筆 :: 10 文章 :: 2680 評論 :: 0 Trackbacks

    4.3 Guice與JMX

    Guice官方提供一個JMX的插件guice-jmx-2.0.jar。在這個插件中我們可以很方便的將我們的服務發不成JMX可管理的MBean。本教程中我們繼續探討這個話題。

    老套了,我們的HelloWorld服務,注意這個服務為了滿足JMX的規范,接口名稱以MBean結尾,而實現類必須不帶MBean。

    1 public interface HelloWorldMBean {
    2     String sayHello();
    3 }

     

    然后是實現類HelloWorld。


     1 public class HelloWorld implements HelloWorldMBean {
     2 
     3     @Override
     4     public String sayHello() {
     5         return "Hello, guice";
     6     }
     7     @Inject
     8     public void register(MBeanServer server) {
     9         try {
    10             server.registerMBean(thisnew ObjectName("xylz guice demo:type=HelloWorld"));
    11         } catch (Exception e) {
    12             e.printStackTrace();
    13         }
    14     }
    15 }
    16 

    這里比較關鍵的是我們要將我們的服務注入到JMX服務器中。

    然后寫一個JMX的服務端例子。


     1 public class JMXDemo {
     2 
     3     public static void main(String[] args) throws Exception{
     4        Injector inj= Guice.createInjector(new Module() {
     5             @Override
     6             public void configure(Binder binder) {
     7                 binder.bind(MBeanServer.class).toInstance(ManagementFactory.getPlatformMBeanServer());
     8                 binder.bind(HelloWorldMBean.class).to(HelloWorld.class);
     9             }
    10         });
    11        //
    12        Manager.manage("guice-jmx-demo", inj);
    13        //
    14        Thread.sleep(10000*600);//sleep for ten minute
    15     }
    16 
    17 }
    18 

    在這個例子中我們綁定MBeanServer到Guice中,然后通過Guice的JMX插件將我們的HelloWorldMBean服務到JMX中。最后暫停10分鐘阻止我們的程序立即退出,當然你可以寫一個while的死循環。

    特別注意,在eclipse中需要設置JVM的參數才能正確啟動我們的JMX服務。見下面。

    -Dcom.sun.management.jmxremote
    -Dcom.sun.management.jmxremote.port=4321
    -Dcom.sun.management.jmxremote.authenticate=false
    -Dcom.sun.management.jmxremote.ssl=false

    然后使用我們的jconsole來查看我們的JMX服務。

    image

    在這里我們就可以看到我們的JMXDemo的進程了。然后選擇連接。

    下面的圖顯示了我們執行sayHello方法的結果。

    image

    當然了我們可以自己寫一個client的程序來處理我們的服務。


     1 public class JMXClientDemo {
     2 
     3     public static void main(String[] args) throws Exception{
     4         JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://127.0.0.1:4321/jmxrmi");
     5         JMXConnector jmxc = JMXConnectorFactory.connect(url, null);
     6         MBeanServerConnection mbsc = jmxc.getMBeanServerConnection();
     7         //
     8         ObjectName mbeanName = new ObjectName("xylz guice demo:type=HelloWorld");
     9         //
    10         HelloWorldMBean helloWorld = JMX.newMBeanProxy(mbsc, mbeanName, HelloWorldMBean.classtrue);
    11         String msg=helloWorld.sayHello();
    12         System.out.println(msg);
    13     }
    14 
    15 }
    16 
    上一篇:Google Guice 入門教程07 - 整合第三方組件(1)
    下一篇:待續

    ©2009-2014 IMXYLZ |求賢若渴
    posted on 2009-12-31 15:35 imxylz 閱讀(19885) 評論(3)  編輯  收藏 所屬分類: J2EEGoogle Guice

    評論

    # re: Google Guice 入門教程08 - 整合第三方組件(2) 2009-12-31 21:29 凡客誠品羽絨服
    阿開始大世界頂級  回復  更多評論
      

    # re: Google Guice 入門教程08 - 整合第三方組件(2) 2010-01-02 18:30 在線詞典
    不錯....  回復  更多評論
      

    # re: Google Guice 入門教程08 - 整合第三方組件(2) 2015-11-16 21:49 rfbingo
    nice,謝謝樓主,最近在使用guice,學習了  回復  更多評論
      


    ©2009-2014 IMXYLZ
    主站蜘蛛池模板: 久久笫一福利免费导航| 久久国产乱子伦精品免费午夜| 久久精品私人影院免费看| 亚洲中文字幕无码一久久区| www成人免费视频| 亚洲一区AV无码少妇电影☆| 国产精品综合专区中文字幕免费播放| mm1313亚洲精品无码又大又粗| 日韩一区二区三区免费播放| 中文字幕久久亚洲一区| a毛片免费播放全部完整| 久久精品国产亚洲av水果派| 久久WWW免费人成一看片| 亚洲日韩一区二区三区| 日本特黄特黄刺激大片免费| 四虎影视永久在线精品免费| 国产亚洲无线码一区二区| 久久久久久久久久国产精品免费| 中文字幕亚洲第一在线| 久久WWW色情成人免费观看| 亚洲AV成人片无码网站| 亚洲精品无码久久久久AV麻豆| a级日本高清免费看| 亚洲成人一级电影| 免费无码又爽又刺激毛片| 一级日本高清视频免费观看 | 十八禁视频在线观看免费无码无遮挡骂过 | 亚洲av不卡一区二区三区| 91精品免费在线观看| 亚洲av无码有乱码在线观看| jlzzjlzz亚洲乱熟在线播放| 蜜桃成人无码区免费视频网站| 国产成+人+综合+亚洲专| 亚洲男人第一无码aⅴ网站| 91高清免费国产自产拍2021| 亚洲国产精品ⅴa在线观看| 亚洲AV综合色一区二区三区| 免费观看成人毛片a片2008| 亚洲免费视频一区二区三区| 亚洲国产精品网站久久| 亚洲午夜精品久久久久久浪潮|