`
wangxinpier
  • 浏览: 116821 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

tomcat7 对类加载器进行JMX注册

阅读更多

在每次生成一个类加载器时(共三个commons,server,shared),会先去MBeanServerFactory.findMBeanServer(null)查一下BeanServer,
findMBeanServer(null)是怎么进行的呢?
首先是权限检查,这里不作解释,下次专门写一个权限检查的

之后对方法参数进行判断,如果是空则返回一个新实例化的new ArrayList<MBeanServer>(mBeanServerList)
如果不为空,则对这个list进行遍历,找到名子相同的mbeanserver,放入list中进行返回

这里MBeanServerFactory利用静态私有属性初始化了mBeanServerList
在MBeanServerFactory中全是静态方法,这里需要注意一下

继续,如果list的size大于0,则取出第一个beanserver,将类加载器注册进去
如果list的size等于0,则调用一个getPlatformMBeanServer()方法返回一个本平台的beanserver

细看一下getPlatformMBeanServer()
之前同样是权限检查

首先这样的属性定义private static MBeanServer platformMBeanServer;

由于没有进行初始化操作,默认platformMBeanServer为null,这也就是getPlatformMBeanServer()先进行null值判断的原因
程序调用sun.management.ManagementFactory.createPlatformMBeanServer();生成一个platformMBeanServer对象

细看一下sun自己实现的sun.management.ManagementFactory.createPlatformMBeanServer();方法

<待续>
分享到:
评论
6 楼 wangxinpier 2010-08-12  
通过代码可以清晰的看到tomcat7上还有对老版本tomcat在common/shared文件夹下jar的加载....
5 楼 wangxinpier 2010-08-12  
热部署通过自定义类加载器完全可以实现,JMX只是一种方便的管理接口
4 楼 sunwt 2010-08-12  
3 楼 wangzhongjie 2010-07-28  
也不好说,我觉得比如jboss那样的,如果都是基于jmx的,貌似可以实现类似热部署的效果
2 楼 wangxinpier 2010-07-28  
tomcat/actionmq/都有JMX的影子.....如果不做监控一般好像不需要JMX
1 楼 wangzhongjie 2010-07-27  
哈哈,看来开始深入研究tomcat了哈哈,jmx最近也在看但是没有看到系统级别的应用哈哈
jboss现在现在貌似不是完全的基于jmx,弄了一个microcontainer 不知道是不是要把jmx的server也迁移到这个microcontainer上去,有没有实际的jmx应用,学习一下哈哈?

相关推荐

    tomcat7和8

    4. **多线程上下文类加载器**:允许每个Web应用拥有独立的类加载器,提高了安全性和隔离性。 5. **JAR扫描**:自动扫描JAR文件中的资源,简化了应用配置。 **Tomcat 8** Tomcat 8是在2013年发布的,主要增加了对...

    tomcat7源码下载

    《深入剖析Tomcat7源码》 ...通过对Tomcat7源码的深入学习,开发者不仅可以了解其工作原理,还能针对具体需求进行定制化开发,提高应用的稳定性和效率。下载并研究Tomcat7源码,对于提升Java Web开发技能大有裨益。

    tomcat 7 及其源码

    这个版本7.0.42是Tomcat 7的一个稳定版本,提供了对Java Servlet 3.0和JavaServer Pages (JSP) 2.2规范的支持。下面将详细介绍Tomcat 7及其源码的相关知识点。 1. **Tomcat结构与组件**: - **Catalina**:核心...

    Tomcat 7-9转载资源

    - **Context配置**:定义了一个特定的Web应用程序,包括其根路径、文档基础和类加载器设置。 - **Connector配置**:定义了Tomcat如何监听和响应网络请求,包括端口、协议和线程池配置。 - **Realm配置**:用于用户...

    tomcat服务器7和8

    综上所述,Tomcat 7和8都是Java Web开发中的重要工具,它们的差异主要体现在对Java EE规范的支持程度、性能优化以及新特性的引入。选择哪个版本取决于项目需求和对最新技术的支持。如果项目需要Java EE 7规范的支持...

    apache-tomcat7

    在Tomcat7中,Servlet容器负责加载、初始化、执行和管理Servlet实例。 **JSP** 是Java平台上的动态网页技术,它允许开发人员将静态HTML与动态Java代码结合在一起。JSP文件会被Tomcat7编译成Servlet,然后按照...

    apache-tomcat-7.0.57-src

    - Tomcat使用自定义的类加载器,包括Catalina类加载器、Shared类加载器和Web应用类加载器,实现不同级别的隔离和加载策略。 5. **连接器(Connector)和容器(Container)**: - 连接器负责接收和发送HTTP请求,...

    tomcat启动原理解析

    - Tomcat使用自定义的类加载器,如`CommonClassLoader`、`CatalinaClassLoader`等,它们按照特定的层次结构加载类。 5. **初始化容器** - `Catalina`类是Tomcat的主要组件,负责管理所有Web应用。在启动过程中,...

    tomcat7/8/9.zip

    4. 对JMX(Java Management Extensions)进行了改进,便于监控和管理服务器状态。 5. 加强了对Java Cryptography Extension (JCE)的支持,提供更高级别的加密选项。 每个版本的Tomcat都有其适用场景,比如旧项目...

    cmdline-jmxclient.zip

    JMX是一种Java平台提供的标准管理框架,它允许开发者暴露和管理应用程序的管理特性,包括内存使用、线程状态、类加载器信息以及各种性能指标。 描述中提到的“获取JMX详细参数”,意味着这个工具能够帮助用户获取...

    linux tomcat7

    这个版本的Tomcat是Tomcat 7系列的一部分,它提供了对Java EE 6 Web Profile的实现,包括对JSF 2.0、JPA 2.0和EJB 3.1等技术的支持。以下是对Linux上部署和管理Tomcat 7的一些关键知识点的详细解释: 1. **安装和...

    tomcat6的源码

    7. **连接器(Connector)**:Tomcat支持多种协议,如HTTP/1.1、AJP等。`Coyote`组件负责处理这些协议,其中` CoyoteConnector`是核心部分。 8. **JSP和 Jasper**:Tomcat内置了JSP引擎Jasper,负责编译JSP页面为...

    tomcat7 tomcat 6 xshell6.zip

    1. **多线程上下文类加载器**:这使得类加载更加灵活,有助于避免类加载冲突。 2. **NIO.2支持**:除了原有的BIO(阻塞I/O)和NIO(非阻塞I/O),Tomcat 7增加了对Java NIO.2 API的支持,提供了更好的性能和可扩展性...

    Tomcat性能优化

    【描述】:“Tomcat7性能优化调优Tomcat7性能优化调优Tomcat7性能优化调优”重复强调了对Tomcat7版本的性能调整,这可能涉及到内存管理、线程池设置、连接器配置、JVM参数优化等多个方面。性能调优的目标是提高...

    tomcat7-tomcat-7.0.19.zip

    3. 监控与管理:利用JMX(Java Management Extensions)对Tomcat进行远程监控和管理,例如监控内存使用、线程状态等。 4. 集群支持:通过配置集群相关的XML文件,可以让多个Tomcat实例形成集群,实现session复制和...

    Tomcat源码研究.pdf

    这些问题可能包括端口被占用、配置文件错误、类加载器相关问题等。通过对这些问题的分析,我们可以更加深入地理解Tomcat的工作机制,以及其在不同环境下可能遇到的问题和解决方案。 3. 架构探讨:Tomcat拥有清晰的...

    tomcat的linux的7 8 9版本汇总

    这个压缩包包含了Tomcat在Linux环境下的三个主要版本——7、8和9,为用户提供了多种选择,可以根据项目需求选择合适的版本进行部署。 【描述】提到的"合集"意味着这个压缩包提供了全面的Tomcat版本,用户可以根据...

    Tomcat深入剖析pdf+源码(Tomcat运行原理)

    通过阅读和分析源码,可以加深对Tomcat运行原理的理解,这对于解决实际问题和进行性能调优非常有帮助。 总之,《Tomcat深入剖析》结合源码分析,是一本全面且深入的Tomcat学习资源,无论是初学者还是经验丰富的...

    tomcat7,8,9解压版(免安装)

    本资源包含Tomcat7、8、9的解压版本,无需进行繁琐的安装步骤,只需解压即可使用,非常适合开发者快速搭建和测试环境。 Tomcat 7是Tomcat的第七个主要版本,它支持Java Servlet 3.0和JavaServer Pages (JSP) 2.2...

    tomcat7 64位的

    Apache Tomcat 7是一款广泛应用的开源Java Servlet容器,主要用于部署和运行Java EE的Web应用程序。作为轻量级应用服务器,Tomcat7以其高效、稳定和易于管理的特点深受开发者喜爱。以下将详细介绍Tomcat7在64位操作...

Global site tag (gtag.js) - Google Analytics