JMX入门

嗯,看tomcat源码的时候发现了这个东西。。还挺不错的。。。就稍微了解一下。。。

首先啥叫JMX:java management extension,字面翻译就是java管理扩展了。。。

不说那么多了,直接上代码吧:

import java.lang.management.ManagementFactory;

import javax.management.MBeanServer;
import javax.management.ObjectName;

public class Hello implements HelloMBean {
	public String name;

	public String hello(String name) {
		// TODO Auto-generated method stub
		this.name = name;
		String out = "hello " + name;
		System.out.println(out);
		return out;
	}
	
	public static void main(String args[]) throws Exception{
		MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();   //获取MBeanServer
		ObjectName name = new ObjectName("fjs:type=hello");  //构造一个名字 
		Hello hello = new Hello();  //创建需要注册的对象
		mbs.registerMBean(hello, name);  //注册这个对象
		Thread.sleep(Long.MAX_VALUE);
	}

}

这段代码好像没啥意思吧,就是构造了一个hello类的对象,然后将其注册到了一个MBeanServer的对象上。。。

其实这里基本上也能猜出来这个干吗用的了。。。

通过MBeanServer这个对象,可以将刚刚注册的对象的方法暴露出去,可以供调用。。。

这里可以打开jconsole.exe,如图:

JMX入门_第1张图片


这里其实还可以通过远程的方式进行访问。。。

还挺方便的。。。

tomcat就是使用这种方式将一些对象暴露出来。。。可能可以方便对tomcat服务器的管理吧。。。


你可能感兴趣的:(JMX入门)