Tomcat源码系列7--Tomcat的JMX管理1

接下来介绍一下在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的启动而相继启动的,

 

接下来会从代码的角度来进行分析。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值