Java SE 6新特性: JMX 与系统管理

豆豆网   技术应用频道   2007年08月11日  【字号: 收藏本文

内容摘要:介绍了 Java 管理扩展(Java Management Extension,JMX) 架构及其框架,以及在 Java SE 5 中新引入的 JMX API -- java.lang.management 包, 最后作者讲述了此 API 在 Java SE 6 中的相关改进和对未来版本的展望

  下面我们就看一个模拟管理系统的例子:

package standardbeans;
import javax.management.MBeanServer;
import javax.management.MBeanServerFactory;
import javax.management.ObjectName;
public class Main {
  private static ObjectName objectName ;
  private static MBeanServer mBeanServer;
  public static void main(String[] args) throws Exception{
    init();
    manage();       
  }
  private static void init() throws Exception{
    ServerImpl serverImpl = new ServerImpl();
    ServerMonitor serverMonitor = new ServerMonitor(serverImpl);
    mBeanServer = MBeanServerFactory.createMBeanServer();
    objectName = new ObjectName("objectName:id=ServerMonitor1");
    mBeanServer.registerMBean(serverMonitor,objectName); 
  }
  private static void manage() throws Exception{
    Long upTime = (Long) mBeanServer.getAttribute(objectName,
    "upTime");
    System.out.println(upTime);
  }
}

  JMX 的核心是 MBServer。Java SE 已经提供了一个默认实现,可以通过 MBServerFactory.createMBeanServer() 获得。每个资源监控者(MBean)一般都会有名称(ObjectName), 登记在 MBServer 内部的一个 Repository 中。注意,这个 ObjectName 对于每一个 MBServer 必须是唯一的,只能对应于一个 MBean。(读者有兴趣的话,可以试着再给 mBeanServer 注册一个同名的 objectName,看看会怎么样。) 上述例子是在 init() 方法中完成向 MBeanServer 注册工作的。

来源:IBM    作者:吕晶 李夷磊    责编:豆豆技术应用

正在加载评论...