`
ss1
  • 浏览: 77670 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JMX在Tomcat中的应用(三)

阅读更多

三、 Tomcat 中的 JMX

通过上面
JMX 的简单介绍和举例,我们对 JMX 有了一个整体概念。现在我们就来查看一下 JMX Tomcat 中的应用。首先,我们使用 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"

运行界面如下所示:



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



我们从上图可以看出, Tomcat 中的 MBeans 位于 Catalina Users 两个 domain 中, Catalina 域名中包含我们所关心的一些 Tomcat 关键组件,比如说 Server Service Realm Engine Connector 等等关键组件,这些 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 过期。

Tomcat MBean 的管理方式很多,例如,您可以通过下面的方法打印、查找或者管理 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 ,然后在浏览器中打开下面的 URL http://localhost:8080/manager/jmxproxy/ ,请输入用户名密码 admin/admin ,您将看到 Tomcat 中所有的 MBeans 。在我的机器上,显示 108 MBeans 的详细信息。如果您访问 http://localhost:8080/manager/jmxproxy/?qry=*%3Aj2eeType=Servlet%2c* ,您将会看到所有已经加载的 Servlet 的信息,该 qry 是查找 j2eeType=Servlet 的所有 MBeans 。如果您有兴趣,您还可以通过这个 jmxproxy 来动态设置一些 Tomcat 中组件运行时的值。

分享到:
评论

相关推荐

    Tomcat开启JMX服务方法介绍

    主要介绍了Tomcat开启JMX服务方法的相关内容,小编觉得挺不错的,在这里给大家分享一下,需要的朋友可以参考。

    Tomcat源码研究.pdf

    Tomcat源码研究.pdf。Catalina脚本解析,Tomcat启动遇到的常见问题,架构探讨,JMX在tomcat中的应用,容器初探,生命周期

    深入剖析TOMCAT中文版

    本书深入剖析Tomcat4和Tomcat5中的每个组件,并揭示其内部...本书从最基本的HTTP请求开始,直至使用JMX技术管理Tomcat中的应用程序,逐一剖析Tomcat的基本功能模块,并配以示例代码,使读者可以逐步实现自己Web服务器。

    深入剖析TOMCAT

    本书深入剖析Tomcat 4和Tomcat 5中的每个组件,并揭示...本书从最基本的HTTP请求开始,直至使用JMX技术管理Tomcat 中的应用程序,逐一剖析Tomcat 的基本功能模块,并配以示例代码,使读者可以逐步实现自己的Web服务器。

    《深入剖析Tomcat(中文版+英文版)》.rar

    《深入剖析Tomcat》从最基本的HTTP请求开始,直至使用JMX技术管理Tomcat中的应用程序,逐一剖析Tomcat的基本功能模块,并配以示例代码,使读者可以逐步实现自己的Web服务器。 目录 第1章 一个简单的web服务器 1.1...

    tomcat学习源码

    资源是关于tomcat深入剖析的源码. ...本书从最基本的HTTP请求开始,直至使用JMX技术管理Tomcat中的应用程序,逐一剖析Tomcat的基本功能模块,并配以示例代码,使读者可以逐步实现自己的Web服务器。

    Tomcat5.0.x

    Apache Tomcat 5.0.x在Apache Tomcat 4.1的基础上做了很多改动,包括: · 性能优化和减少垃圾回收动作 · 重构程序部署,通过一个可选的独立部署程序,允许在将一个web应用放进产品前验证和编译它 · 基于JMX的...

    tomcat深入剖析.pdf

    在内容上,《深入剖析Tomcat》更关注对Tomcat基本体系结构的讲解,并没有涉及在实际应用中的具体实现细节。希望读者在阅读的时候,着重把握Torrical的一些设计思想,在此基础上,再针对某一方面进行深入的学习和研究...

    tomcat6、7、8、9, maven3.5

    的Apache Tomcat 5.5.X支持相同的Servlet和JSP规范版本的的Apache Tomcat 5.0.x中 还有在许多领域显著变化引擎盖下,从而提高了性能,稳定性和总拥有成本。有关详细信息,请参阅Apache Tomcat 5.5 Changelog。 的...

    ansible-role-tomcat-multi:最完整的Tomcat安装,支持,init.d脚本,应用程序命名,大页面,强化,漂亮的错误页面,sha512哈希密码,JMX配置,多个Tomcat版本,分离的catalina_home和多个catalina_base(很快)

    Ansible角色:在多个正在运行的实例中安装Apache Tomcat Java应用程序服务器(可选使用Hugepages) 在多个正在运行的实例中安装Apache Tomcat Java应用程序服务器。 最完整的Tomcat安装,支持,init.d脚本,应用...

    j2ee应用服务器和web服务器解析.docx

    由于Tomcat允许开发者只需通过加入一行致谢,就可以把Tomcat嵌入到它们的应用中。遗憾的是,许多商业应用服务器并没有遵守此规则。 对于开发者来说,如果是为了寻找利用Servlet、JSP、JNDI和JMX技术来生成JavaWeb...

    zabbix 监控 tomcat

    利用zabbix JMX 自带模板应用服务监控 tomcat,帮助初学的朋友,是他们能很快上手

    apache-tomcat-5.5.17-src

    │ ch17.rar 将Tomcat嵌入到Java中(实例演示) │ ch19(security).rar Tomcat安全(实例演示) │ ch24.rar IIS与Tomcat集成(实例演示) │ ├─ch20 JMeter压力测试实例(实例演示) │ classes12.jar ...

    how-tomcat-works

    16.2 tomcat中的shutdown hook 131 第17章 启动tomcat 133 17.1 概述 133 17.2 Catalina类 133 17.2.1 start方法 134 17.2.2 stop方法 135 17.2.3 启动Digester 135 17.2.4 关闭Digester 135 17.3 Bootstrap类 136 ...

    JConsole_远程监控Tomcat_ricky

    JConsole是一个基于JMX的GUI工具,用于连接正在运行的JVM,不过此JVM需要使用可管理的模式启动。如果要把一个应用以可管理的形式启动,可以在启动是设置com.sun.management.jmxremote。JConsole能够提供被监控虚拟机...

    HowTomcatWorks:《深度剖析Tomcat》原始码及笔记

    《深入剖析Tomcat》原始码及笔记 -Tomcat的工作原理开发自己的Java Servlet容器的指南 章节 第三章连接器 第四章Tomcat的默认连接器 第五章servlet容器 第六章生命周期 第七章日志记录器 ...第二十章基于JMX的管理

    How Tomcat Works: A Guide to Developing Your Own Java Servlet Container

    16.2 tomcat中的shutdown hook 131 第17章 启动tomcat 133 17.1 概述 133 17.2 Catalina类 133 17.2.1 start方法 134 17.2.2 stop方法 135 17.2.3 启动Digester 135 17.2.4 关闭Digester 135 17.3 Bootstrap类 136 ...

    embedded-jmxtrans:进行中的JMX指标导出器

    正在进行中的JMX Exporter将解决在Java的IP地址未知且RMI-IIOP被禁用(例如Amazon Elastic Beanstalk,Cloudbees等)的云风格和弹性环境中进行远程JMX访问的问题。 如果您有什么要讨论的 入门 启用了Spring ...

    fallback:在 tomcat 上运行的 spring 框架项目的良好基础。 使用简单的配置来突出人们期望从 Java 应用程序服务器中获得的许多功能

    fallback 提供了一个很好的示例 Web 应用程序存档(war),用于集成 Spring/Hibernate/JMX/JPA/Ehcache。 为了提出这种干净的集成,您必须筛选大量相互冲突的博客帖子和文档。 我的目标是为您完成这项工作,并提供...

    jmxmon:Tomcat和JVM监视器。 易于安装tomcat Webapp

    此监视器不需要使用Tomcat应用程序进行编译。 要安装,只需编辑一个文件,构建jmxmon Webapp,然后将其复制到tomcat / webapps目录。 设置以构建您的jmxmon 1.检查您安装的Maven版本 mvn -version 如果您的Maven...

Global site tag (gtag.js) - Google Analytics