读书人

jmx最容易的例子

发布时间: 2012-11-03 10:57:42 作者: rapoo

jmx最简单的例子

com.jmx.impl.HelloMBean.java:

?

package com.jmx.impl;

?

public interface HelloMBean {

public String getName(); ?

?

? ? public void setName(String name); ?

?

? ? public String print(); ?

}


com.jmx.impl.Hello.java:package com.jmx.impl;

public class Hello implements HelloMBean {private String name = ""; ?@Overridepublic String getName() {return this.name;}
@Overridepublic void setName(String name) {this.name=name;}
@Overridepublic String print() {System.out.println("Hello, " + this.name + "!!"); ?return this.name;}public String print1(){return "abc";}
}
测试com.jmx.HelloAgent.java:package com.jmx;
import javax.management.MBeanServer;import javax.management.MBeanServerFactory;import javax.management.ObjectName;
import com.jmx.impl.Hello;import com.sun.jdmk.comm.HtmlAdaptorServer;
public class HelloAgent {private MBeanServer mbs = null; ? ?? ? public HelloAgent() { ?? ? ? ? mbs = MBeanServerFactory.createMBeanServer(); ?? ? ? ? HtmlAdaptorServer adapter = new HtmlAdaptorServer(); ?? ? ? ? Hello hw = new Hello(); ?? ? ? ? ObjectName adapterName = null; ?? ? ? ? ObjectName helloWorldName = null; ?? ? ? ? try { ?? ? ? ? ? ? helloWorldName = new ObjectName("HelloAgent:name=helloWorld1"); ?? ? ? ? ? ? mbs.registerMBean(hw, helloWorldName); ?? ? ? ? ? ? adapterName = new ObjectName("HelloAgent:name=htmladapter,port=9092"); ?? ? ? ? ? ? adapter.setPort(9999); ?? ? ? ? ? ? mbs.registerMBean(adapter, adapterName); ?? ? ? ? ? ? adapter.start(); ?? ? ? ? } catch (Exception e) { ?? ? ? ? ? ? e.printStackTrace(); ?? ? ? ? } ???? ? } ???? ? public static void main(String args[]) { ?? ? ? ? System.out.println("HelloAgent is running"); ?? ? ? ? new HelloAgent(); ?? ? } ?}运行后,在浏览器中打开localhost:9999,可以看到监控页面。
jmx最容易的例子
?需导入附件中的jar包
另附一篇介绍jmx的相关文章:http://www.ibm.com/developerworks/cn/java/j-lo-jse63/一篇好文章:http://blog.csdn.net/tt01080924/article/details/4030130

读书人网 >编程

热点推荐