快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

JMX入门之StandardMBean HelloWord




这个简朴的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();     }}




返回类别: 教程
上一教程: JDBCTM 指南:入门5 - ResultSet
下一教程: 用了12个小时完成一个计算器小作业

您可以阅读与"JMX入门之StandardMBean HelloWord"相关的教程:
· 关于java 的 Classpath全解<java入门之一>
· Eclipse平台入门之二:开发环境与实例
· 关于java 的 Classpath全解<java入门之二>
· JAVA入门需把握的30个基本概念
· Java入门笔记1_HelloWorld
    微笑服务 优质保证 索取样品