首先貼三個代碼檔案 Hello, HelloMBean, HelloAgent
--------------------------------------------------
Hello.java
public class Hello implements HelloMBean{
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void printHello() {
System.out.println("Hello World, "+name);
}
public void printHello(String whoName)
{
System.out.println("Hello, "+whoName);
}
}
-----------------------------------------------------------------
HelloMBean.java
public interface HelloMBean {
public String getName();
public void setName(String name);
public void printHello();
public void printHello(String whoName);
}
------------------------------------------------------------------
HelloAgent.java
import java.lang.management.ManagementFactory;
import javax.management.MBeanServer;
import javax.management.ObjectName;
import com.sun.jdmk.comm.HtmlAdaptorServer;
public class HelloAgent {
public static void main(String[] args) throws Exception
{
MBeanServer server=ManagementFactory.getPlatformMBeanServer();
ObjectName helloName=new ObjectName("tina:name=Hello World");
server.registerMBean(new Hello(), helloName);
ObjectName adapterName =new ObjectName("HelloAgent:name=htmladapter,port=8082") //設定8082連接埠;
HtmlAdaptorServer adaptor=new HtmlAdaptorServer();
server.registerMBean(adaptor, adapterName);
adaptor.start();
System.out.println("start.....");
}
}
運行HelloAgent後,再訪問http://locathost:8082就可以看到效果
心得:JMX暴露MBean中的方法,而方法的具體實現則由註冊的類Hello來完成