技术中心

这里象征着我们的态度和能力

>基于JBoss来写MBean
发布者:中国IT实验室    信息来源:中国IT实验室    发布时间:2012-01-09      浏览次数:4998
分享到:

新浪微博

腾讯微博

QQ空间

豆瓣网

QQ好友

欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入

    用JDK自带的JMX实现来写的MBean,JMX的实现不独SUN一家,JBoss也有自己的JMX实现。如果你使用JBoss来做WEB服务器,那么基于JBoss的实现来写MBean,是一个不错的选择。象我们公司就是用JBoss的,因此所有MBean都是基于JBoss来写的。基于JBoss的MBean和基于SUN的MBean有什么不同吗?有一些不同之外,但绝大部份都一样。

    一、  HelloWorld实例

    1、准备工作
    JBOSS实现了JMX规范,这个实例是基于JBoss来实现的。请先去下载一个JBoss,我是JBoss-3.2.6,这个实例需要JBoss的两个JAR包的支持:jboss-system-3.2.6.jar、jboss-jmx-3.2.6.jar,如果你和我一样用Eclipse来开发(推荐),那么把这个两个包加入到项目的库引用中(加入到库引用的方法参考前面两章)。

    2、程序代码
    假设我们有一个叫message的属性要需要经常进行改动配置的,那么我们就把它写成一个MBean。

    1)、HelloWorldServiceMBean接口
在写MBean之前,我们先需要写一个MBean接口,接口里的方法都是属性的set/get方法。这个接口必须继承接口ServiceMBean。
java 代码

 import org.jboss.system.ServiceMBean;
 public interface HelloWorldServiceMBean extends ServiceMBean {
     String getMessage();
     void setMessage(String message);
 }

    2)、HelloWorldService实现类
    然后写出HelloWorldServiceMBean接口的实现类HelloWorldService,这个实现类还必须继承ServiceMBeanSupport类。这种类再简单不过了,就是属性和相应的set/get方法,EJB中叫实体类、Hibernate中叫POJO。
java 代码

  import org.jboss.system.ServiceMBeanSupport;
  public class HelloWorldService extends ServiceMBeanSupport

implements HelloWorldServiceMBean {

      private String message;
      public String getMessage() {
          System.out.println("getMessage()=" + message);
          return message;
      }


         public void setMessage(String message) {
         System.out.println("setMessage(" + message + ")");
         this.message = message;
    }
 }

    3)、配置文件jboss-service.xml

  xml version="1.0" encoding="UTF-8"?>
 <server>
     <mbean code="example.mbean.HelloWorldService"
name="www.chengang.com.cn:service=HelloWorld">

         <attribute name="Message">Hello Worldattribute>
     mbean>
 server>

    说明:
    ◆code项指向MBean的实现类HelloWorldService
    ◆name项是一个名称,格式一般是:[说明性文字]:service=[类名]
    ◆attribute是为属性设置初始值,这样当JBOSS一加载HelloWorldService类时,message属性就有了一个初始值    Hello World。注意Message的第一个字母必须是大写。

    二、将实例部署到JBOSS

    在jboss-3.2.6serverdefaultdeploy目录下创建一个hello.sar目录,然后创建如下目录文件结构:

hello.sar
|----example
|            |----mbean
|                    |----HelloWorldService.class (注意:是*.class,不是*.java)
|                    |----HelloWorldServiceMBean.class
|----META-INF
|----jboss-service.xml

    其他说明:
    ◆也可以将hello.sar目录用zip格式压缩成一个同名的hello.sar文件,放到jboss-3.2.6serverdefaultdeploy目录下。
    ◆JBOSS支持热部署,也就是说你在布置这个目录时并不需要重启JBOSS。

    三、MBean的效果

    后单击“service=HelloWorld”项打开详细页面

    将“HelloWorld”改成“Hello World,ChenGang”,再单击“Apply Changes”应用修改

[1] [2] 下一页

4000-880-989
(24小时热线)
联系客服
微信公众号

官方公众号

小程序

©2008-2022 CORPORATION ALL Rights Reserved. 昆明奥远科技有限公司版权所有 滇ICP备09003328号-1 滇公网安备 53011102000818号
昆明那家网络公司好,新媒体运营,网站优化,网络推广,网站建设,网页设计,网站设计,网站推广,云南网站公司,昆明新媒体公司,云南网红主播,昆明SEO公司,昆明网站建设,昆明网络推广,昆明网站优化,昆明网站推广,红河网站建设,大理网络公司,曲靖网络公司,丽江网站设计,昭通网络公司,保山大数据服务,智慧高速建设,智慧校园服务,云南IDC服务商,网络安全测评,等保测评,网站关键词排名优化服务,服务客户尽超2000余家,一切尽在奥远科技,服务电话:13888956730