欢迎光临
我们一直在努力

JMX入门之StandardMBean HelloWord-JSP教程,Java技巧及代码

建站超值云服务器,限时71元/月

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

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » JMX入门之StandardMBean HelloWord-JSP教程,Java技巧及代码
分享到: 更多 (0)