JMX 标准实现

package com.jmx;

//MBean起名是有规范的,就是原类名后加上MBean字样。
public interface HelloMBean {

	public String getName();
	public void setName(String name);
	public void setAge(Integer age);
	public void printHello();
	public void printHello(String whoName);	
	public void printHello(String name, Integer age);
	
	public void setCacheSize(Integer size);
	
}



package com.jmx;

/**
 * 标准MBeans
 * @author Administrator
 *
 */
public class Hello implements HelloMBean {
	
	private static Integer cache_size;

    private String name;
    
    private Integer age;
    
    public void setAge(Integer age){
    	this.age = age;
    }
    
    
    public Integer getAge() {
		return age;
	}


	public String getName() {
    	return name;
    }
    
    public void setName(String name) {
    	this.name = name;
    }
    
    public void printHello() {
    	System.out.println("Hello World, " + name + age);
    }
    
    public void printHello(String whoName) {
    	System.out.println("Hello , " + whoName);
    }
    
    public void printHello(String name, Integer age){
    	System.out.println("Hello , " + name + age);	
    }


	public void setCacheSize(Integer size) {
		cache_size = size;
		
	}

}



package com.jmx;

import java.lang.management.ManagementFactory;

import javax.management.MBeanServer;
import javax.management.MBeanServerFactory;
import javax.management.ObjectName;

import com.sun.jdmk.comm.HtmlAdaptorServer;

public class HelloAgent {
	
    public static void main(String[] args) throws Exception {
    	
    	//先创建了一个MBeanServer,用来做MBean的容器
    	//MBeanServer server = MBeanServerFactory.createMBeanServer();
    	
    	MBeanServer server = ManagementFactory.getPlatformMBeanServer();
    	
    	//将Hello这个类注入到MBeanServer中,注入需要创建一个ObjectName类 
    	//chengang:name=HelloWorld的名字是有一定规则的,格式为:“域名:name=MBean名称”,域名和MBean名称都可以任意取。
    	ObjectName helloName = new ObjectName("chengang:name=HelloWorld");
    	Hello hello = new Hello();
    	server.registerMBean(hello, helloName);
    	
    	//创建一个AdaptorServer,这个类将决定MBean的管理界面,这里用最普通的Html型界面。AdaptorServer其实也是一个MBean。
    	ObjectName adapterName = new ObjectName("HelloAgent:name=htmladapter,port=8082");
    	HtmlAdaptorServer adapter = new HtmlAdaptorServer();
    	server.registerMBean(adapter, adapterName);
    	
        adapter.start();
        System.out.println("start.....");
        for(int i =0; i<100;i++){
        	System.out.println(hello.getName());
        	Thread.sleep(6000);
        }
    }

}

你可能感兴趣的:(thread,html,cache,sun)