接下来介绍一下在Tomcat中JMX的运用
1. JMX介绍
JMX(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX是一套标准的代理和服务,用户可以在任何Java应用程序中使用这些代理和服务实现管理。
下图为JMX的体系结构

JMX包括四层,即设备层、代理层、分布服务层、附件管理歇息API。
1) 设备层(Instrumentation Level):主要定义了信息模型。在JMX中,各种管理对象以管理构件的形式存在,需要管理时,向MBean服务器进行注册。该层还定义了通知机制以及一些辅助元数据类。
2) 代理层(Agent Level):主要定义了各种服务以及通信模型。该层的核心是一个MBean服务器,所有的管理构件都需要向它注册,才能被管理。注册在MBean服务器上管理构件并不直接和远程应用程序进行通信,它们通过协议适配器和连接器进行通信。而协议适配器和连接器也以管理构件的形式向MBean服务器注册才能提供相应的服务。
3) 分布服务层(Distributed Service Level):主要定义了能对代理层进行操作的管理接口和构件,这样管理者就可以操作代理。然而,当前的JMX规范并没有给出这一层的具体规范。
4) 附加管理协议API:定义的API主要用来支持当前已经存在的网络管理协议,如SNMP、TMN、CIM/WBEM等。
JMX定义了四种管理构件:标准(Standard MBeans)、动态(Dynamic MBeans)、开放(Open MBeans)和模型管理构件(Model MBeans)。每一种管理构件可以根据不同的环境需要进行制定。Tomcat使用ModelMBean对资源进行管理。
2. Tomcat基于jmx的管理
Tomcat为了自身的管理,从tomcat4后使用JMX对自身组件(Server、Service、Realm、Engine和Connector等)进行管理。
(1)当我们用Eclipse中载入Tomcat源码,加入以下的虚拟机参数。
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=8999
-Dcom.sun.management.jmxremote.ssl="false"
-Dcom.sun.management.jmxremote.authenticate="false"
界面如下图所示

(2)可以通过使用JConsole查看一下Tomcat中的所有的MBeans。
打开Jconsole,点击连接,查看Mbean窗口,如下图所示。

从上图可以看出,Tomcat中的MBeans位于Catalina和Users两个domain中,Catalina域名中包含了一些Tomcat核心组件, Server、Service、Realm、Engine和Connector等关键组件,Users中包含了Role、User、UserDatabase等组件。这些组件是随着Tomcat的启动而相继启动的,
接下来会从代码的角度来进行分析。

- 大小: 12.7 KB

- 大小: 41.7 KB

- 大小: 28.4 KB
分享到:
相关推荐
这个压缩包包含了两个版本的Tomcat源码:apache-tomcat-7.0.62-src和apache-tomcat-6.0.39-src,这两个版本分别代表了Tomcat在不同时间点的开发状态和技术特性。 首先,让我们从Apache Tomcat 6.0.39源码开始分析。...
通过对`apache-tomcat-9.0.8-src`源码的深入研究,我们可以了解到Tomcat如何处理网络请求,怎样管理Web应用,以及如何实现各种高级特性。这对于开发者来说是一份宝贵的学习资料,可以帮助他们更好地优化应用程序,...
在本项目中,"jmx监控weblogic,tomcat,websphere源码"涉及了使用JMX来监控三个主流的Java应用服务器:WebLogic、Tomcat和WebSphere。这些服务器都是企业级应用部署的常见选择,对它们的监控对于确保系统性能、稳定性...
在本压缩包"apache-tomcat-6.0.29.zip"中,包含的是Apache Tomcat 6.0.29版本的源码、配置文件、库文件以及相关的文档资料。 Tomcat 6.0.29是Apache Tomcat的一个稳定版本,发布于2010年,支持Java EE 5规范。以下...
Apache Tomcat源码分析 Apache Tomcat是一款广泛应用的开源Java Servlet容器,它是Java EE Web应用程序的标准实现。Tomcat源码的深入理解对于Java Web开发者来说是至关重要的,它可以帮助我们了解HTTP服务器的工作...
7. **Naming** 和 **JMX(Java Management Extensions)**:提供管理和监控Tomcat实例的功能。 在源码中,你可以看到这些组件的实现细节,包括配置解析、线程池管理、会话管理、安全管理等方面。深入理解源码可以...
《深入剖析Tomcat7源码》 Tomcat7是一款广泛使用的开源Java Servlet容器,它实现了Java EE中的Web应用服务器标准,尤其是Servlet和JSP规范。源码下载是开发者深入理解其内部工作原理的重要途径,本篇文章将围绕...
8. **JMX(Java Management Extensions)**:Tomcat使用JMX来提供管理和监控功能,如监控服务器状态、性能指标等。`org.apache.tomcat.util.modeler`包下的类涉及JMX的实现。 9. **国际化和本地化**:Tomcat支持多...
### Tomcat源码研究知识点概览 #### 1.1 Catalina.bat脚本解析 - **脚本功能**:`catalina.bat`是Tomcat启动过程中的关键脚本之一,其主要作用在于构建合适的Java命令行参数,进而启动Tomcat服务。此脚本根据环境...
5. **JMX(Java Management Extensions)**:Tomcat支持JMX,允许管理员监控和管理服务器状态。查看`jmx`目录下的源码可以了解如何使用JMX注册和暴露管理MBean。 6. **配置解析**:Tomcat的配置文件如`server.xml`...
《深入剖析Tomcat 6与7的源码》 Tomcat作为开源的Java Servlet容器,是许多Web开发者和系统管理员的首选。它以其轻量级、高效和易于配置的特性赢得了广泛赞誉。本文将深入探讨Tomcat 6和7的源码,揭示其内部工作...
11. **JMX(Java Management Extensions)**:Tomcat利用JMX提供管理工具,监控服务器状态,进行远程管理。 12. **错误处理**:源码中包含了错误页面的处理逻辑,当Web应用抛出异常时,Tomcat能够根据配置返回相应...
- 调试Tomcat源码可以定位并解决运行时问题,例如性能瓶颈、内存泄漏或安全漏洞。 6. **扩展与定制** - Tomcat允许开发者自定义其行为,例如通过编写监听器、过滤器或servlet来扩展其功能。 - 可以通过编写自己...
【标题】"jakarta-tomcat-connectors-1.2.15-src.zip" 是一个包含Apache Tomcat连接器源代码的压缩包,主要用于帮助开发者深入理解Tomcat的工作原理,并进行自定义或扩展。 【描述】提到的"jakarta_tomcat_...
- 使用JMX(Java Management Extensions)监控和管理Tomcat运行时状态。 通过深入学习和理解Apache Tomcat 7的源码,开发者不仅可以解决实际问题,还能提升对Web服务器原理的理解,为构建高效、稳定的Java Web应用...
9. **JMX管理**:通过Java Management Extensions(JMX),开发者可以远程监控和管理Tomcat的运行状态,如查看线程池状态、内存使用情况等。 10. **性能优化**:优化Tomcat涉及调整线程池大小、缓存设置、减少上...
1. **Apache Tomcat介绍**: - Apache Tomcat 是一个小型的Java应用服务器,它实现了Java EE的Web组件规范,尤其是Servlet和JSP规范。 - Tomcat由Apache Software Foundation维护,是Apache Jakarta项目的一部分,...
在深入探讨Tomcat源码学习之前,我们首先要理解Tomcat是什么。Tomcat是一款开源的、免费的Web服务器和Servlet容器,由Apache软件基金会维护。它实现了Java Servlet和JavaServer Pages(JSP)规范,是Java EE应用...