您的位置:jsp学习站首页 >> JAVA类 >> JAVA高级 >> JMX架构的了解

JMX架构的了解 (1)

[ 来源:互网络 | 更新日期:2007-10-05 09:48:44 | 浏览次数:19722]
简介:0 weblogic等就是基于JMX开发的符合J2EE规范的服务器软件。 了解JMX可以使你深入了解J2EE服务器, 为什么我们平时说 "EJB"是个比较"Weight"的方案选择,其中一个原因是J2EE服务器软件本身 也是你的系统中一部分,它作为你系统的容器,对你的系统有至关重要的作用,如果无法直接介入 管理或“调教”它,那么无疑你的系统本身存在着隐含的危险, 现在,通过JMX,你现在可以深入到你J2EE容器内部的管理了。 (好像国内出现了第一个自己J2ee服务器,不知道那是不是基于JMX开发的?) J2EE并不能概括所有的应用领域,比如对速度和性能要求极高的游戏或股票行情等系统就需要自己直接来开发Server, 如果是能够基于JMX开发,那么可以说就大大提高编写管理程序的效率,可以将你的模块变成JMX的MBean,可以通过Agent在程序内部或者通过 WEB管理页面对你的MBean模块进行初始化 重启 以及参数设置。JMX的好处还有:可以方便整合连接现有的Java技术,如JNDI JDBC JTS及其它。特别是能够使用Jini的查询 发现机制以及协议,我们知道,Jini提供了一种服务的查询和发现机制,这些services都可以通过JMX 来实现管理。现在我们开始JMX的了解:1
JMX应该说是关于网络应用管理的的框架,如果你开发了一个比较复杂的系统,无疑你要提供这个系统的自身管理 系统,JMX更多应用是体现在Server上,如果你要使用java开发一个自己Server或复杂的应用系统,那么推荐你基于JMX架构来开发, JBoss 3.0 weblogic等就是基于JMX开发的符合J2EE规范的服务器软件。 

了解JMX可以使你深入了解J2EE服务器, 为什么我们平时说 "EJB"是个比较"Weight"的方案选择,其中一个原因是J2EE服务器软件本身 也是你的系统中一部分,它作为你系统的容器,对你的系统有至关重要的作用,如果无法直接介入 管理或“调教”它,那么无疑你的系统本身存在着隐含的危险, 现在,通过JMX,你现在可以深入到你J2EE容器内部的管理了。 (好像国内出现了第一个自己J2ee服务器,不知道那是不是基于JMX开发的?) 

J2EE并不能概括所有的应用领域,比如对速度和性能要求极高的游戏或股票行情等系统就需要自己直接来开发Server, 如果是能够基于JMX开发,那么可以说就大大提高编写管理程序的效率,可以将你的模块变成JMX的MBean,可以通过Agent在程序内部或者通过 WEB管理页面对你的MBean模块进行初始化 重启 以及参数设置。

JMX的好处还有:可以方便整合连接现有的Java技术,如JNDI JDBC JTS及其它。特别是能够使用Jini的查询 发现机制以及协议,我们知道,Jini提供了一种服务的查询和发现机制,这些services都可以通过JMX 来实现管理。

现在我们开始JMX的了解:

1.到java.sun.com首页的JMX页面,下载JMX的规定说明和Samples程序。
2.按照JMX的说明进行一次Tutorial,了解如何加入 删除 配置一个MBean,Tutorial中是以SimpleMBean为例,那么我们能否建立一个自己的MBean?

我们来做一个Hello 的MBean,这里有一个小关键点,你的class取名有个规则, 需要以MBean为结尾,如这里我们取名为HelloMbean:


public interface HelloMBean {

  // management attributes
  public String getName();
  public void setName(String name);

  // management operations
  public void print();

}

在这个Class里,有一个隐含attributes: name, 提供了set和get的方法,同时有一个操作方法print():

再定义一个concrete类:

public class Hello implements HelloMBean {

  private String name = "";

  public String getName() {
  return name;
  }

  public void setName(String name) {
  this.name = name;
  }

  public void print() {
  System.out.println("Hello, " + name + "!!" );
  }
}


这样一个简单的MBean就做好了,我们可以通过admin界面加入这个Hello,

再按 Tutorial启动BaseAgent,在Agent Administration中参考Simple填入:
Domain: Standard_Hello_MBeans

Keys : name=Hello,number=1

Java Class: Hello

将出现Create Successful信息。进入MBean View 给Name赋值,点按Apply ,然后再按print,这是你的Hello中的方法,在控制台你会看到输出。
[1] [2]
Tags:关键字:JMX架构的了解
责任编辑:glen