这个简单的Mbean只有一个属性和一个方法,StardBeanDemoMain 为调用类,
main方法中调用下面三个方法,代码中都有详细的注释:
sbean.doRegistBean();
sbean.doManageBean();
sbean.regHtmlAdaptor();
运行后,可以看到控制台打印的信息,
register StandMbean sucess..
Attribute:state -init value
Attribute:state 2 -new state
My 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






