设为首页 收藏本站
查看: 546|回复: 0

[经验分享] JMX在Tomcat中的应用(三)

[复制链接]

尚未签到

发表于 2017-1-25 08:03:15 | 显示全部楼层 |阅读模式
  三、Tomcat中的JMX

通过上面
JMX的简单介绍和举例,我们对JMX有了一个整体概念。现在我们就来查看一下JMXTomcat中的应用。首先,我们使用JConsole查看一下Tomcat中有哪些MBeans

3.1 首先,请在Eclipse中启动Tomcat,在虚拟机参数中,设置下面几个参数:

-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9999
-Dcom.sun.management.jmxremote.ssl="false"
-Dcom.sun.management.jmxremote.authenticate="false"

运行界面如下所示:
DSC0000.png


3.2 Tomcat运行后,请打开JConsole.exe,我们可以远程连接到localhost:9999,我们可以看到Tomcat中的MBeans如下图所示:
DSC0001.png


我们从上图可以看出,Tomcat中的MBeans位于CatalinaUsers两个domain中,Catalina域名中包含我们所关心的一些Tomcat关键组件,比如说ServerServiceRealmEngineConnector等等关键组件,这些MBean分别对应我们前面在Tomcat架构中讲述的那些组件资源。那么,这些组件是如何注册到MBeanServer的呢,注册的流程又是如何,这个问题需要解读Tomcat源代码,此处暂不细表,且看下回分解。

3.3 下面,我们做一个非常有趣的实验,体验一下JMX管理的乐趣。首先请在浏览器中打开http://localhost:8080/examples/jsp/jsp2/el/basic-arithmetic.jsp页面,然后再上图所示的JConsole中的Manager节点下的/examples-->localhost中找到操作中的“listSessionIds”方法,然后点击调用该方法,您会在弹出的对话框中看到您刚才访问basic-arithmetic.jsp页面的sessionId值,它是一个16位的字符串,我的机器上显示为“4998AB8A07480360BC24A9E9C11A39CA”;接下来,请在Manager节点下的/examples-->localhost中找到属性中的sessionIdLength属性,把它的值从16改为22,请关闭浏览器,然后重新打开浏览器,再访问一下上面的页面,这时,您再调用”listSessionIds”方法查看一下sessionId的列表,会发现新产生的sessionId的位数是22位,在我的机器上返回” 4998AB8A07480360BC24A9E9C11A39CA 04348EFDE953D0B56A206BF11A13E1A5CBB14F316B4F”两个sessionId值。当然,您也可以输入sessionId值,调用expireSession方法来让某个session过期。

TomcatMBean的管理方式很多,例如,您可以通过下面的方法打印、查找或者管理Tomcat中的MBean,该方法的优点是不用打开RMI端口,所有操作都是通过Servlet转发给MBeanServer完成的,具体步骤如下:

a) 首先打开conf目录下的tomcat-users.xml文件,在<tomcat-users></tomcat-users>标签之间加上下面两行,然后保存该文件。

<role rolename="manager"/>
<user username="admin" password="admin" roles="manager"/>

这表示我们要添加一个新用户,用户名为admin,密码也是admin,用户具有manager权限。

b) 重启Tomcat,然后在浏览器中打开下面的URLhttp://localhost:8080/manager/jmxproxy/ ,请输入用户名密码admin/admin,您将看到Tomcat中所有的MBeans。在我的机器上,显示108MBeans的详细信息。如果您访问http://localhost:8080/manager/jmxproxy/?qry=*%3Aj2eeType=Servlet%2c* ,您将会看到所有已经加载的Servlet的信息,该qry是查找j2eeType=Servlet的所有MBeans。如果您有兴趣,您还可以通过这个jmxproxy来动态设置一些Tomcat中组件运行时的值。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-333029-1-1.html 上篇帖子: 从源码安装tomcat 6.0.18 下篇帖子: Tomcat 5.0.28安装笔记
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表