首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > Java > JMX 入门学习-(1)创建一个MBean
【标  题】:JMX 入门学习-(1)创建一个MBean
【关键字】:JMX,MBean
【来  源】:http://blog.csdn.net/ghostcell/archive/2006/10/22/1345960.aspx

JMX 入门学习-(1)创建一个MBean

JMX是java 管理扩展的简称,主要是为系统的管理提供一套有效的机制,我使用jmx主要是为开发中一些需要系统配置的地方提供热部署的功能。这只是我的简单理解。也希望大家能给我多提批评意见,帮助我提高自己的知识水平。

 使用JMX比较简单,首先到Sun 主页上下载JMX的参考实现。http://java.sun.com/products/JavaManagement/download.html

第一步:写一个MBean 它与普通的Bean 基本上没有什么区别。不过一定要用MBean结尾.

/**

**用接口来定义Bean,然后用一个类来实现

**/

public interface HelloWorldMBean {
 public String sayHello (String inputString);
 public String getState();
 public void setState(String state);
}

public class HelloWorld implements HelloWorldMBean {
 private String state="run";
 public String getState() {
  // TODO Auto-generated method stub
  return state;
 }

 public String sayHello(String inputString) {
  // TODO Auto-generated method stub
  return "hello"+inputString;
 }

 public void setState(String state) {
  // TODO Auto-generated method stub
  this.state=state;
 }

}

 import java.io.IOException;

import javax.management.InstanceAlreadyExistsException;
import javax.management.MBeanException;
import javax.management.MBeanRegistrationException;
import javax.management.MBeanServer;
import javax.management.MBeanServerFactory;
import javax.management.MalformedObjectNameException;
import javax.management.NotCompliantMBeanException;
import javax.management.ObjectName;
import javax.management.ReflectionException;


public class MServer {
 public static void main(String arg[]){

  
        MBeanServer mbs = MBeanServerFactory.createMBeanServer();
      
     String domain = mbs.getDefaultDomain();
    
     String mbeanClassName = "HelloWorld";
     String mbeanObjectNameStr = domain + ":type=" + mbeanClassName + ",index=1";
    
     ObjectName mbeanObjectName = createSimpleMBean(mbs, mbeanClassName, mbeanObjectNameStr);
    
    
 }

 private static ObjectName createSimpleMBean(MBeanServer mbs, String mbeanClassName, String mbeanObjectNameStr) {
  // TODO Auto-generated method stub
  ObjectName mbeanObjectName = null;
  try {
   mbeanObjectName =
     ObjectName.getInstance(mbeanObjectNameStr);
   
    mbs.createMBean(mbeanClassName, mbeanObjectName);
  } catch (MalformedObjectNameException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (NullPointerException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (InstanceAlreadyExistsException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (MBeanRegistrationException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (NotCompliantMBeanException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (ReflectionException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (MBeanException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  
  return mbeanObjectName;
 }

 
}

Modern C++ Design 书中的两个错误:【上一篇】
郑昀邀请开发(Java爬虫/C++自然语言)人才加盟[工作地点:北京]:【下一篇】
【相关文章】
  • 用 JMX 作简单之 Java VM 监视(Part 1)
  • newxy新坐标持久类及FormBean类构建器
  • 解决tomcat启动jmx远程管理后不能正常关闭问题
  • 在Struts--hibernate开发框架中,实现formbean与hibernate pojo的自动转换
  • JBoss MBean服务加载过程
  • web开发:通用持久类代替hibernate的持久类、通用动态formBean类代替struts的formBean类
  • struts formBean动态绑定数据的不足及改进 作者:胡立新
  • JMX使用总结
  • 找人一起翻译JMX IN ACTON!!!
  • 使用WebLogic JMX进行定制调试
  • 【随机文章】
  • 实参char **argv 与形参 const char **p 不相容
  • ambiguous call to overloaded function
  • How-To Develop EJB 3.0 to Supports Backward Compatibility with EJB 2.x Clients
  • Linux无盘工作站架设实例
  • Windows网络编程
  • 在linux建动态WEB服务器
  • VBScript Round 函数
  • POSTGRESQL 中如何隐藏存储过程
  • 为什么我的网站访问量很大,产品却没人购买?
  • 巧用Word2003制作树状结构图
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.