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

JMX在Tomcat中的应用(一)

阅读更多

一、 JMX 简单介绍

Tomcat 5.0 版本开始引入 JMX ,力图使 JMX 成为 Tomcat 未来版本的管理工具和平台。首先,让我们来对 JMX 做一个简单了解。 JMX Java Management Extension 的缩写,可译为 Java 管理工具扩展,扩展的意思就是 JMX 不包含在标准的 J2SE 中,我们必须要另外下载 JMX RI 的实现。不过,这种把 JMX 排除在 J2SE 之外的情况已经成为历史了, J2SE5.0 J2SE6.0 都已经包含了 JMX 的标准实现。这说明, JMX 已经成为 J2SE 不可分割的一部分,另外一方面, JMX 已经成为 Java 平台上管理工具的事实标准,在业界广泛使用。例如, JBOSS 就是以 JMX 为微内核, Web 应用模块和其它功能模块都可热插拨到这个微内核,将 JMX 的管理功能发挥得淋漓尽致。从当前业界使用情况看, JMX 中的 X(Extension ,扩展 ) 应该去掉,改名为 Java Management Standard Platform (JMSP Java 管理标准平台 ) 更加合适。为了向下兼容,我们姑且还是称之为 JMX 吧。

JMX 要管理的对象是什么呢,是资源。什么是资源,资源是指企业中的的各种应用软件和平台,举例来说,一个公司内部可能有许多应用服务器、若干 Web 服务器、一台至多台的数据库服务器及文件服务器等等,那么,如果我们想监视数据库服务器的内存使用情况,或者我们想更改应用服务器上 JDBC 最大连接池的数目,但我们又不想重启数据库和应用服务器,这就是典型意义上的资源管理,即对我们的资源进行监视 (Monitoring ,查看 ) 和管理 (Management ,更改 ) ,这种监视和更改不妨碍当前资源的正常运行。对资源进行适当的监测和管理,可以让我们的 IT 资源尽可能的平稳运行,可以为我们的客户提供真正意思上的 24 × 7 服务。在资源耗尽或者在硬件出故障之前,我们就可以通过管理工具监测到,并通过管理工具进行热调整和插拔。独孤九剑,料敌机先,适当的资源管理就是我们料敌机先的工具,可以让我们立于 IT 服务的不败之地。在 Sun 公司提出 JMX(JSR174) 以前,人们通常都是使用 SNMP 对网络上的资源进行管理。 SNMP 的主要问题是入门门槛太高,不容易使用。所以 Sun 提出了 JSR174 倡议并且提供了一套 JMX 的参考实现。

从技术上说, JMX 整体架构可分为三层,即资源植入层 (Instrumentation Level ,可能有更好的译法? ) 、代理层 (Agent Level) 和管理层 (Manager Level) ,简述如下:

资源植入层 (Instrumentation Level) :该层包含 MBeans 及这些 MBeans 所管理的资源, MBeans 是一个 Java 对象,它必须实现 JMX 规范中规定的接口。按照 JMX 规范,在 MBeans 对象的接口中,我们可以指定管理层可以访问资源的哪些属性,可以调用资源的哪些方法,并且,在资源的属性发生变化是,我们的 MBeans 可以发出消息,通知对这些属性变化感兴趣的其它对象。 JMX 规范定义了四种 MBeans ,它们分别是标准 MBeans(Standard MBeans) 、动态 MBeans(Dynamic MBeans) 、开放 MBeans(Open MBeans) 和模态 MBeans(Model MBeans)

代理层 (Agent Level) :代理层的目的就是要把 MBeans 中实现的接口暴露给管理层,该层通常由 MBean Server Agent Services 构成, MBean Server 就是一个 MBeans 对象注册器,所有的资源 MBeans 都注册到这个 MBean Server ,对象管理器或者其它的管理层应用程序可以通过访问 MBean Server ,从而可以访问 MBean Server 中注册的 MBeans ,当然也就可以监视和管理和这些 MBeans 绑定的资源。

管理层 (Manager Level) :又称之为分布式服务层 (Distributed Services) ,顾名思义,该层主要包含一些管理应用程序,这些程序可以访问和操作 JMX 代理层 (Agent Level) 。这些管理应用程序可以是一个 Web 应用,也可能是一个 Java SWT 应用程序。

分享到:
评论

相关推荐

    Tomcat开启JMX服务方法介绍

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

    深入剖析TOMCAT中文版

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

    Tomcat源码研究.pdf

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

    深入剖析TOMCAT

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

    tomcat学习源码

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

    Tomcat5.0.x

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

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

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

    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

    如果要把一个应用以可管理的形式启动,可以在启动是设置com.sun.management.jmxremote。JConsole能够提供被监控虚拟机的内存、线程、类的加载以及MBean等信息,从而能够对服务器的运行情况进行实时监控。 其实在 ...

    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 ...

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

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

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

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

    web服务器和应用服务器.docx

    的,主要是EJB、 JNDI和JMX API等J2EE API方面的,还包含事务处理、数据库连接等功能,所以在企业级使用中,使用服务器提供的功能比WEB服务器强大的多。 web服务器和应用服务器全文共6页,当前为第2页。 web服务器...

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

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

Global site tag (gtag.js) - Google Analytics