(一) 环境准备
应用服务器:JBoss AS 4.2.2 GA
开发工具:JBossTools 2.0.0 GA
(二) 创建MBean项目
1、 新建一个普通的java项目,名称为Hello;
2、 选择“New->Other->JBossTools->MBean Components->MBean stubs”;
3、 在出现“New MBean Wizard”的“New MBean Interface”窗口中输入:
Package:demo
MBean Name:HelloWorld
选择“下一步”继续;
4、 在出现的“New MBean Class”窗口中输入:
Package:demo
MBean Name:HelloWorld
同时选择“create –service.xml file”选项,选择“下一步”继续;
5、 选择“META-INF”目录,将生成的“Hello-service.xml”文件重构为“jboss-service.xml”;
6、 Hello MBean项目的项目结构如下图所示:
(三) 编写MBean服务
这里编写的MBean服务是一个非常简单的输出“Hello”消息的MBean,
1、 接口代码如下:
package demo;
public interface HelloMBean {
public void start() throws Exception;
public void stop() throws Exception;
public void setMessage(String message);
public String getMessage();
public void sayHello();
}
2、 实现代码如下:
package demo;
public class Hello implements HelloMBean {
private String message = “Hello World”;
public Hello() {
}
public String getMessage() {
return message;
}
public void sayHello() {
System.out.println(message);
}
public void setMessage(String message) {
this.message = message;
}
public void start() throws Exception {
System.out.println(“Hello MBean is starting…”);
}
public void stop() throws Exception {
System.out.println(“Hello MBean is stoping…”);
}
}
3、 修改jboss-service.xml文件如下:
<?xml version=“1.0″ encoding=“UTF-8″?>
<server>
<mbean code=“demo.Hello” name=“jbossweek.demo:key=Hello”>
<attribute name=“Message”>Hello World!</attribute>
</mbean>
</server>
(四) MBean服务打包
1、 在JBossTools中选择“Window->Show View->Other”,在出现的窗口中选择“JBossTools->Project archives”,就会出现“Project archives”视图;
2、 在“Project archives”视图中选择“New Archive->JAR”,在出现的窗口中将“Archieve Name”修改为Hello.sar,同时选择“Exploded archive resulting in a folder (no compression)”;
3、 在 “Project archives”视图中选择刚创建的“Hello.sar”,右键单击在出现的上下文菜单中选择“New Fileset”,在出现的窗口中单击“Workspace…”按钮,在出现的窗口选择“Hello”项目的“bin”目录,在“includes”中输入“demo/”,选择“Finish”将MBean类加入到Hello.sar包。
4、 同理增加“META-INF/”的fileset将jboss-service.xml文件加入到Hello.sar包。
最终的“Project archives”视图如下图所示:
最终的Hello.sar包结构如下图所示:
(五) 部署Hello MBean服务
1、 在JBossTools中选择“Window->Show View->Other”,在出现的窗口中选择“Server->JBoss Server View”,就会出现JBoss Server视图;
2、 选择配置一个配置好的JBoss Server,右键单击,在出现的上下文菜单中选择“Add or Remove Projects…”,在出现的窗口中将Hello.sar添加到“Configured Projects…”列表中;
(六) 验证
1、 在JBossTools中的JBoss Server视图中单击“启动”图标启动JBoss服务器,在启动过程中会出现如下日志:
[STDOUT] Hello MBean is starting…
2、 打开浏览器访问地址:http://localhost:8080/jmx-console,定位jbossweek.demo:key=Hello,单击进入
3、 修改Message属性为“Hello JBossWeek!”,单击“Apply Changes”;再单击sayHello方法就会在JBossTools的控制台中看到如下日志:
INFO [STDOUT] Hello JBossWeek!
4、 在JBossTools中的JBoss Server视图中单击“关闭”图标关闭JBoss服务器,在关闭过程中会出现如下日志:
[STDOUT] Hello MBean is stoping…
到此,标准的JMX MBean服务就开发完成了!