[探究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里,我们就可以动态的修改或访问它。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值