`
zhaohaolin
  • 浏览: 1012331 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

tomcat 7 源码分析-7 server初始化中的JMX(DynamicMBean)再续

阅读更多

tomcat 7 源码分析-7 server初始化中的JMX(DynamicMBean)再续

 

这里说下tomcat对DynamicMBean的实现和封装。利用tomcat包,可以轻松实现将自己的对象注册为MBeans。

看个例子就明白了。

Java代码  收藏代码
  1. package  com.MBean.test;  
  2.   
  3. import  org.apache.tomcat.util.modeler.BaseNotificationBroadcaster;  
  4.   
  5. public   class  DyMBeanObj  extends  BaseNotificationBroadcaster{  
  6.       
  7.     public   int  getConnectionNumber() {   
  8.         return   this .conNum ;   
  9.         }   
  10.        
  11.         public   synchronized   void  setConnectionNumber( int  con_Num ) {  
  12.   
  13.         this .conNum = con_Num ;   
  14.        
  15.         System.out.println("Connection Number now "  +  this .conNum );   
  16.         }   
  17.         private   int  conNum = DEFAULT_CON_Num;  
  18.         private   static   final   int  DEFAULT_CON_Num=  20 ;   
  19.   
  20. }  
package com.MBean.test;

import org.apache.tomcat.util.modeler.BaseNotificationBroadcaster;

public class DyMBeanObj extends BaseNotificationBroadcaster{
	
    public int getConnectionNumber() { 
    	return this.conNum ; 
        } 
     
        public synchronized void setConnectionNumber(int con_Num ) {

    	this.conNum = con_Num ; 
     
    	System.out.println("Connection Number now " + this.conNum ); 
        } 
        private int conNum = DEFAULT_CON_Num;
        private static final int DEFAULT_CON_Num= 20; 

}
 
Java代码  收藏代码
  1. package  com.MBean.test;  
  2. import  javax.management.*;  
  3.   
  4. import  org.apache.tomcat.util.modeler.Registry;  
  5.   
  6. public   class  DyMBeanTest {  
  7.   
  8.     /**  
  9.      * @param args  
  10.      */   
  11.     public   static   void  main(String[] args)  throws  Exception{  
  12.         // TODO Auto-generated method stub   
  13.         DyMBeanObj obj = new  DyMBeanObj(); //将这个Object-->动态MBean   
  14.         ObjectName on = null ;  
  15.         on = new  ObjectName( "com.MBeans:type=test" ); //此MBean的域和类型          
  16.         Registry.getRegistry(null null ).registerComponent(obj, on,  null );    
  17.         System.out.println("Waiting for incoming requests..." );    
  18.         Thread.sleep(Long.MAX_VALUE);    
  19.     }  
  20.   
  21. }  
package com.MBean.test;
import javax.management.*;

import org.apache.tomcat.util.modeler.Registry;

public class DyMBeanTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception{
		// TODO Auto-generated method stub
		DyMBeanObj obj = new DyMBeanObj();//将这个Object-->动态MBean
		ObjectName on = null;
		on = new ObjectName("com.MBeans:type=test");//此MBean的域和类型		
		Registry.getRegistry(null, null).registerComponent(obj, on, null);	
		System.out.println("Waiting for incoming requests...");  
		Thread.sleep(Long.MAX_VALUE);  
	}

}

 查看运行效果,可以直接看上篇文章。

 

不管是DynamicMBean还是StandardMBean,都需要ObjectName,可以利用一串字符构造这个对象。

”com.MBeans:type=test“,其实就是Domain:key=value

 

Registry大大简化了DynamicMBean的调用,讲MBeanServer的create也封装了。

分享到:
评论

相关推荐

    tomcat-catalina-jmx-remote-9.0.5.jar

    tomcat-catalina-jmx-remote-9.0.5 tomcat-catalina-jmx-remote-9.0.5.jar

    tomcat7源码下载

    3. common:这个模块包含了Tomcat中可被所有其他模块共享的组件和服务,如Logging、Naming和JMX支持。 4. jasper:Jasper是Tomcat的JSP编译器,负责将JSP页面转换为Servlet Java代码。 5. shared:共享库,提供...

    官方原版apache-tomcat-10.0.0-M1-windows-x64.zip 64位

    - **JMX监控**: 可以启用JMX(Java Management Extensions)进行远程监控和管理,配置在`server.xml`中的`<Connector>`元素内。 总结起来,Apache Tomcat 10.0.0-M1是一个用于运行Java Web应用的高效服务器,特别...

    Tomcat-6-Windows-x86+Tomcat-7-Windows-x64+Tomcat-8-Windows-x64

    在本压缩包中,包含了三个不同版本的Tomcat,分别是Tomcat 6、Tomcat 7和Tomcat 8,分别适用于Windows x86和x64架构。以下将详细讲解这三个版本以及它们在Windows环境下的安装和使用。 1. **Tomcat 6** - **概述**...

    jmx监控weblogic,tomcat,websphere源码

    在本项目中,"jmx监控weblogic,tomcat,websphere源码"涉及了使用JMX来监控三个主流的Java应用服务器:WebLogic、Tomcat和WebSphere。这些服务器都是企业级应用部署的常见选择,对它们的监控对于确保系统性能、稳定性...

    tomcat7-tomcat-7.0.19.zip

    1. Servlet容器:Tomcat作为Servlet容器,负责加载、初始化、运行Servlet,处理来自客户端的HTTP请求,并将响应返回给客户端。 2. JSP支持:Tomcat能动态编译JSP文件为Servlet,使得开发者可以使用动态网页技术编写...

    apache-tomcat-7.0.62-src和apache-tomcat-6.0.39-src的源码

    首先,让我们从Apache Tomcat 6.0.39源码开始分析。这个版本是Tomcat 6系列的一个稳定版本,它主要支持Java EE 5规范。在这个版本中,你可以深入学习以下关键知识点: 1. **Servlet 2.5规范**:Tomcat 6是基于...

    apache-tomcat-11.0.0-M17-windows-x64.zip

    Apache Tomcat 是一款广泛应用的开源软件,主要用于部署和运行Java Servlet和JavaServer Pages(JSP)应用程序。在本文中,我们将深入探讨Apache Tomcat 11.0.0-M17这一版本,它是针对Windows 64位操作系统的。这个...

    apache-tomcat-9.0.78-windows-x64

    Apache Tomcat 9.0.78 是一个广泛使用的开源软件,它是一个实现了Java Servlet、JavaServer Pages(JSP)和Java EE的Web应用程序容器。这个版本是专门为Windows x64平台设计的,确保在64位操作系统上的高效运行。在...

    apache-tomcat-8.0.44-windows-x64

    Apache Tomcat 是一款广泛应用的开源软件,主要用于部署和运行Java Servlet和JavaServer Pages(JSP)应用程序。在本文中,我们将深入探讨“apache-tomcat-8.0.44-windows-x64”这一特定版本,它专为64位Windows操作...

    tomcat 7 及其源码

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

    apache-tomcat-8.5.9-windows-x64

    Apache Tomcat 8.5.9 是一个广泛应用的开源软件,用作Java Servlet和JavaServer Pages(JSP)的Web应用程序服务器,特别是针对轻量级和中型项目。Tomcat是Apache软件基金会Jakarta项目的一部分,它实现了Java EE的...

    catalina-jmx-remote.jar

    Tomcat 8 Extras catalina-jmx-remote.jar,JMX监控所需文件之一。 JMX Remote Lifecycle Listener - org.apache.catalina.mbeans.JmxRemoteLifecycleListener

    最新版windows apache-tomcat-10.0.0-windows-x64.zip

    Apache Tomcat是一款开源的Java应用服务器,主要用于运行Java Servlet和JavaServer Pages(JSP)应用程序。这个最新的Windows版本,即apache-tomcat-10.0.0-windows-x64.zip,是专为64位Windows操作系统设计的,提供...

    cmdline-jmxclient-0.10.3.jar + zabbix tomcat监控模板

    - Tomcat需要启用JMX并配置合适的访问权限,通常在`catalina.sh`或`server.xml`中进行设置。 - 安全性:确保JMX连接是安全的,避免暴露敏感信息。可以使用SSL加密或者限制仅允许特定IP访问。 - 性能:频繁的JMX...

    apache-tomcat-源码-lib包

    在Tomcat中,Servlet负责接收来自客户端的请求,进行业务逻辑处理,然后返回响应。lib包中的servlet-api.jar包含了Servlet API,这是开发Servlet所必需的。 2. **HTTP链接**:Tomcat作为HTTP服务器,处理HTTP请求和...

    apache-tomcat-8.5.64-windows-x64.zip

    7. **JMX(Java Management Extensions)**:Tomcat 8.5支持JMX,允许远程监控和管理服务器状态,这对于运维人员监控和优化服务器性能非常有用。 8. **性能优化**:可以通过调整`server.xml`中的线程池设置、启用...

    apache-tomcat-9.0.8-src源码资源

    它的源码资源对于我们理解Tomcat的工作原理、进行定制开发或者优化性能都具有极大的价值。`apache-tomcat-9.0.8-src`这个压缩包包含了Tomcat 9.0.8版本的完整源代码,这是学习和研究Tomcat的绝佳材料。 1. **Tomcat...

    apache-tomcat-7.0.85-windows-x64

    - **JMX监控**:通过JMX(Java Management Extensions)可以远程监控Tomcat的运行状态。 综上,Apache Tomcat 7.0.85 64位版本提供了一个强大的平台来运行和部署Java Web应用,其稳定性和性能都经过了广泛测试,是...

    apache-tomcat-7.0.96

    Apache Tomcat 7.0.96 是一个广泛使用的开源软件,它是一个实现了Java Servlet、JavaServer Pages(JSP)和Java EE的部分Web应用程序服务器,主要由Apache软件基金会开发和维护。这个版本的Tomcat是7.x系列的一个...

Global site tag (gtag.js) - Google Analytics