[探究JMX] 2、JMX注册例子

一、简介

      JMX(Java Management Extensions)是一个为应用程序植入管理功能的框架。主要用于管理和监控程序,本节以一个简单的例子理解怎样管理MBean。

 

二、准备工作

      JMX有一套标准,SUN公司JDK提供了实现该套标准的JMX接口。基于JDK就可以开发出JMX代码了。

      1、 安装JDK1.5

      2、 代码中用到了HtmlAdaptorServer接口,所以需要引入jmxtools.jar包。

      3、 开发环境:Eclipse + JDk1.5

 

三、代码实例

 package com.muyu.jmx;

public interface ConfigMBean { 
    
    public String getConfigLocation();
    
    public void printConfigLocation();
    
    public void printConfigLocation(String configLocation);
    
    public void setConfigLocation(String i_ConfigLocation);
}

 

package com.muyu.jmx;

public class Config implements ConfigMBean {

    private String configLocation;
    
    public String getConfigLocation() {
        return configLocation;
    }

    public void printConfigLocation() {
        System.out.println(configLocation);
    }

    public void printConfigLocation(String i_ConfigLocation) {
        System.out.println(i_ConfigLocation);
    }

    public void setConfigLocation(String i_ConfigLocation) {
        this.configLocation = i_ConfigLocation;
    }

}

 

package com.muyu.jmx;

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

import com.sun.jdmk.comm.HtmlAdaptorServer;

/**
 * this class is used for test.
 * 
 * @author LuisFigo       
 */

public class Server {

    public static void main(String[] args) {
    
        MBeanServer server = MBeanServerFactory.createMBeanServer();
        ObjectName configName;
        try {
            configName = new ObjectName("LuisFigo:name=config");
            Config config = new Config();
            server.registerMBean(config, configName);
            ObjectName adapterName = new ObjectName("ConfigAgent:name=htmladapter,port=8000"); 
            HtmlAdaptorServer adapter = new HtmlAdaptorServer();        
            adapter.setPort(8000);
            server.registerMBean(adapter, adapterName);
            adapter.start();
            System.out.println("adapter start ... ");
        } catch (Exception e) {
            e.printStackTrace();
        }  
        
    }
   
}

 

说明

      先创建一个MBean服务容器,将configMBean和HtmlAdaptorServer注册进去,HtmlAdaptorServer其实也是一个代理,默认端口号为8082,我们在这设置为8000, Server运行过后,在浏览器里输入http://localhost:8000即可看到图1界面。点击LuisFigo域下的name=config进入图2,在最下面的文本框里输入helloworld,点击printConfigLocation进入图3显示执行成功的信息。观察Eclipse控制台里出现了helloworld,这说明已经调用了服务端config的相应方法。

 

四、 总结

      从上面的例子中我们可以知道,通过web网页形式可以访问和控制服务端程序中的MBean了。现在如果把系统中的一些参数放在MBean里,我们就可以动态的修改或访问它。

 

 

你可能感兴趣的:(eclipse,jdk,应用服务器,框架,sun)