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

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

看个例子就明白了。

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; 

}
 
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也封装了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值