My FAQ,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > Web开发 > JSP > 综合文章
JMX入门之StandardMBeanHelloWord
作者:佚名 时间:2005-04-12 11:12 出处:互连网 责编:MyFAQ
              摘要:JMX入门之StandardMBeanHelloWord



这个简单的Mbean只有一个属性和一个方法,StardBeanDemoMain 为调用类,main方法中调用下面三个方法,代码中都有详细的注释: sbean.doRegistBean();         sbean.doManageBean();        sbean.regHtmlAdaptor();

运行后,可以看到控制台打印的信息,register StandMbean sucess..Attribute:state -init valueAttribute:state 2 -new stateMy service start.....

由于启动了HtmlAdaptor的服务,所以程序一直处于运行状态,(HtmlAdaptor是sun jmx实现自带的一个适配器)测试可以在浏览器中访问:http://localhost:8082 就可以在浏览器中管理mbean了,在List of MBean operations下面按startService 按钮,可以看到控制台打出的信息,说明startService方法被调用了。



/** * Mbean接口 * StandBeanMBean.java * @author zmxj */public interface StandBeanMBean {        public String getState() ;        public void setState(String s) ;        public void startService();}



/** * Mbean实现 * StandBean.java * @author zmxj */public class StandBean implements StandBeanMBean {

    private String state = "init value";   

    public String getState() {        return state;    }

    public void setState(String s) {        state = s;            }

    public void startService() {       System.out.println("My service start.....");            }

}

import javax.management.Attribute;import javax.management.AttributeNotFoundException;import javax.management.InstanceNotFoundException;import javax.management.InvalidAttributeValueException;import javax.management.MBeanException;import javax.management.MBeanServer;import javax.management.MBeanServerFactory;import javax.management.MalformedObjectNameException;import javax.management.ObjectName;import javax.management.ReflectionException;

import com.sun.jdmk.comm.HtmlAdaptorServer;

/** * Agent类 * StardBeanDemoMain.java * @author zmxj */public class StardBeanDemoMain {

    private MBeanServer mBserver = null;        ObjectName mbeanObjectName = null; String domain = null; String mbeanName = "StandBean";     public static void main(String[] args) {                StardBeanDemoMain sbean = new StardBeanDemoMain();                sbean.doRegistBean();        sbean.doManageBean();        sbean.regHtmlAdaptor();    }        /**     * 创建MBeanServer并注册一个Mbean     */    private void doRegistBean()    {        //创建MBeanServer        mBserver = MBeanServerFactory.createMBeanServer();        domain = mBserver.getDefaultDomain();

     try {         mbeanObjectName = new ObjectName(domain + ":type=" + mbeanName);                  /*         //这里可以直接创建并且同时注册一个mbean到MBeanServer.         server.createMBean(mbeanName,mbeanObjectName);         */                  StandBean bean = new StandBean();         mBserver.registerMBean(bean, mbeanObjectName);                  System.out.println("register StandMbean sucess..");     } catch(MalformedObjectNameException e) {         e.printStackTrace();         System.exit(1);     } catch(Exception e){         e.printStackTrace();         System.exit(1);     }         }



    /*     * 演示管理mbean,通过mbserver修改mbean的属性和执行mbean的方法     */    private void doManageBean()    {        try {            ObjectName mbeanObjectName = new ObjectName(domain + ":type=" + mbeanName);                                   System.out.println("Attribute:state -"+mBserver.getAttribute(mbeanObjectName,"State"));

            //修改属性State            Attribute stateAttribute = new Attribute("State","new state");            mBserver.setAttribute(mbeanObjectName, stateAttribute);                        //取得属性值            System.out.println("Attribute:state 2 -"+mBserver.getAttribute(mbeanObjectName,"State"));                        //调用方法startService            mBserver.invoke(mbeanObjectName,"startService",null,null);                    } catch (Exception e) {            e.printStackTrace();        }    }        /*     * 注册HtmlAdaptor,注册后可以通过http://localhost:8082执行mbean管理操作     */    private void regHtmlAdaptor()    {     HtmlAdaptorServer html = new HtmlAdaptorServer();     ObjectName html_name = null;     try {         html_name = new ObjectName("Adaptor:name=html,port=8082");         mBserver.registerMBean(html, html_name);     } catch(Exception e) {         System.out.println("\t!!! Could not create the HTML adaptor !!!");         e.printStackTrace();         return;     }     html.start();     }}
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 myfaq.com.cn All rights reserved. www.myfaq.com.cn 版权所有