JMX 入门学习-(1)创建一个MBean
来源:互联网 发布:安卓看书软件 编辑:程序博客网 时间:2024/06/04 19:59
JMX是java 管理扩展的简称,主要是为系统的管理提供一套有效的机制,我使用jmx主要是为开发中一些需要系统配置的地方提供热部署的功能。这只是我的简单理解。也希望大家能给我多提批评意见,帮助我提高自己的知识水平。
使用JMX比较简单,首先到Sun 主页上下载JMX的参考实现。http://java.sun.com/products/JavaManagement/download.html
第一步:写一个MBean 它与普通的Bean 基本上没有什么区别。不过一定要用MBean结尾.
//首先定义一个接口,注意该接口一定要用MBean结尾,这是开发stardMBean的规则。
package com.jmx.simple.demo;
public interface HelloMBean {
public String getName();
public void setName(String name);
public void sayHello(String value);
}
//用一个类来实现刚才定义的接口.
package com.jmx.simple.demo;
public class Hello implements HelloMBean {
private String name="";
public String getName() {
// TODO Auto-generated method stub
return this.name;
}
public void sayHello(String value) {
// TODO Auto-generated method stub
System.out.println(name+" says: "+value);
}
public void setName(String name) {
// TODO Auto-generated method stub
this.name=name;
}
}
//将刚才开发的MBean注册 MBean server中,我使用的是jboss 4.4的jmx server,具体做法如下。
//首先我定义了一个servlet ,将下面代码覆盖你的init()函数如下:
public void init() throws ServletException {
// Put your code here
List serverList = MBeanServerFactory.findMBeanServer(null);//获取server列表.
MBeanServer server = (MBeanServer) serverList.get(0);//获得默认的server.
String DOMAIN = server.getDefaultDomain();//获得server的域,在jboss中该域为jboss.
final Hello helloMBean = new Hello(); //定义我们开发的MBean地实现.
ObjectName hello= null;//这是注册MBean的命名对象.
try {
hello = new ObjectName("jboss.jmx:name=HelloJMX");
server.registerMBean(helloMBean, hello);//注册前面定义好的MBean.
} 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();
}
//然后在web.xml中把这个servlet定义为自动启动。
//在web.xml找到你刚才定义的servlet配置的地方。然后加入<load-on-startup>1</load-on-startup>.可以参考我的配置。
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>JmxInitialize</servlet-name>
<servlet-class>com.jmx.servlets.jboss.JmxInitialize</servlet-class>
<load-on-startup>1</load-on-startup><!--这个地方是新加的-->
</servlet>
<servlet-mapping>
<servlet-name>JmxInitialize</servlet-name>
<url-pattern>/servlet/JmxInitialize</url-pattern>
</servlet-mapping>
//启动jboss,在ie中输入http://localhost:8080/jmx-console.
可以看到我们刚才注册的MBean ;name=HelloJMX
关于jmx的使用我想不用我太多说了吧。欢迎大家多提意见。
- JMX 入门学习-(1)创建一个MBean
- jmx 入门 1 -什么是MBean
- JMX学习笔记-MBean
- JMX和MBean以及pojo-mbean学习
- JMX、MBean以及pojo-mbean学习
- JMX学习笔记(一)-MBean
- JMX学习笔记(二):MBean
- JMX学习笔记(一)-MBean
- JMX学习笔记(一)-MBean
- JMX学习笔记(一)-MBean
- 【JMX】JMX学习笔记(一)-MBean
- 【JMX学习】1、jmx入门
- JMX & MBean
- JMX中一个MBean的异常
- JMX : Standard MBean
- JMX注册MBean服务
- 【JMX】3. 动态MBean
- 【JMX】5. 模型MBean
- 思考10秒
- 一个女CIO的诞生(后记)
- ASP.NET 2.0个性化配置(profile)
- 百钱百鸡C++实现
- 基于网络的 Red Hat 无人值守安装
- JMX 入门学习-(1)创建一个MBean
- ground zero
- 无法与服务器连接
- 用openssl生成正确显示中文的证书的方法
- C#连接到各种数据库的连接字符串
- 董卿:人最难的就是超越自己 当你有能力的时候,你一定要全力以赴!
- Microsoft TechReady-MOSS(Sharepoint)2007深度培训
- 虚函数:从零开始[ZT]
- 《一个普通IT人的十年回顾》金旭亮