posts - 19,  comments - 11,  trackbacks - 0
          Tomcat 5.5.20可以使用JMX服務(wù)進行管理操作。下面介紹如何查看Tomcat提供哪些JMX服務(wù),并如何使用這些JMX服務(wù)。


          1. 使用JDK1.5自帶的JConsole程序查看Tomcat的JMX服務(wù)

            要讓JConsole能查看到Tomcat的JMX服務(wù),需要Tomcat啟動一個管理口。由于tomcat5.5.20缺省啟動文件不提供JMX服務(wù)接口 加入下面紅色內(nèi)容到catalina.bat:

          set JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.management.jmxremote.port=1090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties" 
          啟動Tomcat5.5.20

          再運行jdk1.5的jconsole程序

          d:\jdk1.5\bin\jconsole nnnnn          (nnnn 是tomcat的進程號 用Task Manager查


          2. 調(diào)用Tomcat的JMX服務(wù),如停止、啟動web應(yīng)用
          寫一個JavaBean,用來調(diào)用Tomcat的JMX服務(wù),關(guān)鍵方法如下:
          public static boolean callWebModuleMBeanMethod(String appName,String methodName) throws Exception
          MBeanServer mBeanServer 
          = null
            
          if (MBeanServerFactory.findMBeanServer(null).size() > 0
          mBeanServer 
          = (MBeanServer) MBeanServerFactory.findMBeanServer( 
          null).get(0); 
          }
           else 
          throw new Exception("cann't find catalina MBeanServer"); 
          }
           
            
          Set names 
          = null
          try 
          names 
          = mBeanServer.queryNames(new ObjectName( 
          "*:j2eeType=WebModule,name=//localhost/"+appName+",*"), null); 
          }
           catch (Exception e) 
          throw new Exception("cann't find "+appName+ " web moudule mbean! can't undeploy web app.\n"+e.getMessage()); 
          }
           
          if(names==null || names.size()==0
          log.debug(
          "can't find "+appName+ " web moudule mbean!"); 
          return false
          }
           
            
          ObjectName oname 
          =null
          Iterator it 
          = names.iterator(); 
          if (it.hasNext()) 
          oname
          =(ObjectName) it.next(); 
          }
           
            
          if(oname==null
          return false
          try 
          mBeanServer.invoke(oname,methodName,
          null,null); 
          return true
          }
           catch (Exception e) 
          throw new Exception("can't "+methodName+" "+appName+ " web application!\n"+e.getMessage()); 
          }
           
          }
           
            
          public static void main(String[] args)
          callWebModuleMBeanMethod(
          "app1","stop"); //停止web應(yīng)用app1 
          callWebModuleMBeanMethod("app1","start"); //啟動web應(yīng)用app1 
          }
           
          posted on 2009-04-21 13:30 happyy2k 閱讀(6292) 評論(1)  編輯  收藏 所屬分類: JAVATomcat

          FeedBack:
          # re: 使用Tomcat的jmx服務(wù)
          2012-11-25 18:48 | cydyhty
          你確定能用?  回復  更多評論
            

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


          網(wǎng)站導航:
           

          <2009年4月>
          2930311234
          567891011
          12131415161718
          19202122232425
          262728293012
          3456789

          常用鏈接

          留言簿(2)

          隨筆分類(20)

          隨筆檔案(12)

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 临潭县| 万全县| 彩票| 原阳县| 玉环县| 云霄县| 偏关县| 资溪县| 贞丰县| 阜宁县| 湖口县| 静乐县| 东光县| 阳谷县| 威信县| 宣汉县| 和静县| 哈巴河县| 大荔县| 马关县| 大悟县| 来安县| 扬中市| 浮山县| 南岸区| 开化县| 乐都县| 蒙城县| 库尔勒市| 三亚市| 宁武县| 新丰县| 鄄城县| 昂仁县| 永和县| 四平市| 盐亭县| 文化| 固安县| 鹿邑县| 日土县|