技术中心

这里象征着我们的态度和能力

>使用Tomcat的jmx服务
发布者:中国IT实验室    信息来源:中国IT实验室    发布时间:2012-01-09      浏览次数:5719
分享到:

新浪微博

腾讯微博

QQ空间

豆瓣网

QQ好友

欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入

    Tomcat 5.5.20可以使用JMX服务进行管理操作。下面介绍如何查看Tomcat提供哪些JMX服务,并如何使用这些JMX服务。

    1. 使用JDK1.5自带的JConsole程序查看Tomcat的JMX服务

    要让JConsole能查看到Tomcat的JMX服务,需要Tomcat启动一个管理口。由于tomcat5.5.20缺省启动文件不提供JMX服务接口 加入下面红色内容到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%conflogging.properties" 启动Tomcat5.5.20

    再运行jdk1.5的jconsole程序

    d:jdk1.5binjconsole nnnnn          (nnnn 是tomcat的进程号 用Task Manager查)

    2. 调用Tomcat的JMX服务,如停止、启动web应用

    写一个JavaBean,用来调用Tomcat的JMX服务,关键方法如下:

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("cannt find catalina MBeanServer");
}
 
Set names = null;
try {
names = mBeanServer.queryNames(new ObjectName(
"*:j2eeType=WebModule,name=//localhost/"+appName+",*"), null);
} catch (Exception e) {
throw new Exception("cannt find "+appName+ " web moudule mbean! cant undeploy web app.n"+e.getMessage());
}
if(names==null || names.size()==0) {
log.debug("cant 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("cant "+methodName+" "+appName+ " web application!n"+e.getMessage());
}
}
 
public static void main(String[] args){
callWebModuleMBeanMethod("app1","stop"); //停止web应用app1
callWebModuleMBeanMethod("app1","start"); //启动web应用app1
}

4000-880-989
(24小时热线)
联系客服
微信公众号

官方公众号

小程序

©2008-2022 CORPORATION ALL Rights Reserved. 昆明奥远科技有限公司版权所有 滇ICP备09003328号-1 滇公网安备 53011102000818号
昆明那家网络公司好,新媒体运营,网站优化,网络推广,网站建设,网页设计,网站设计,网站推广,云南网站公司,昆明新媒体公司,云南网红主播,昆明SEO公司,昆明网站建设,昆明网络推广,昆明网站优化,昆明网站推广,红河网站建设,大理网络公司,曲靖网络公司,丽江网站设计,昭通网络公司,保山大数据服务,智慧高速建设,智慧校园服务,云南IDC服务商,网络安全测评,等保测评,网站关键词排名优化服务,服务客户尽超2000余家,一切尽在奥远科技,服务电话:13888956730