博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JBoss 系列六十四:部署JMX MBean到JBoss 7/WildFly
阅读量:7223 次
发布时间:2019-06-29

本文共 2032 字,大约阅读时间需要 6 分钟。

hot3.png

概述

在JBoss 6及JBoss 6之前的版本,JBoss使用JMX MBean架构,例如,JBoss 6中我们可以将MBean通过*-bean.xml,打包在sar包中,部署于JBoss。但在JBoss 7/WildFly中我们如何部署JMX MBean呢?本文给出一个简单步骤来完成这一需求。

JBoss 7/WildFly中 MBean部署需要依赖JBoss service,这就需要我们符合JBoss service的要求,MBean需要包括一系列生命周期相关的操作,例如create, start, stop, 以及destroy,这些操作被JBoss容器调运来通知MBean相关的事件发生。我们需要在MBean中添加这些方法。

部署TestMBean到JBoss 7/WildFly

我们通过如下四步部署TestMBean到JBoss 7/WildFly。

创建TestMBean接口

创建TestMBean接口如下:

package org.jboss.jmx.test;public interface TestMBean {	public void setMessage(String message);	public String getMessage();}

创建Test类实现TestMBean

创建Test类实现TestMBean,Test中我们需要添加start() a和stop()方法,如下:

package org.jboss.jmx.test;public class Test implements TestMBean {	boolean flag = true;	public String Message;	public Test() {		System.out.println(" TestMBean is activated...inside Test() constructor--setting default Message=Hello");	}	public void setMessage(String Message) {		System.out.println(" Server Watch Message is set to : " + Message);		this.Message = Message;	}	public String getMessage() {		System.out.println(" Server Watch Message is set to : " + Message);		return this.Message;	}	public void start() throws Exception {		System.out.println("Starting start() Test invoked");		Message = "JBoss";	}	public void stop() throws Exception {		System.out.println("Stopping stop() Test  invoked");	}}

编译生成部署包

编译以上class到mbean-test.sar。示例代码位于:

我们可以使用中描述的方法下载,编译上传部署包。

添加jboss-service.xml到$YOUR_SAR/META-INF

添加jboss-service.xml到mbean-test.sar/META-INF,编辑jboss-service.xml,添加内容如下:

JBoss
部署及测试

使用中描述的方法,部署mbean-test.sar到JBoss 7,启动JBoss 7过程我们可以发现如下输出日志:

14:56:25,370 INFO  [stdout] (MSC service thread 1-6)  TestMBean is activated...inside Test() constructor, Message: null14:56:25,374 INFO  [stdout] (MSC service thread 1-1)  Server Watch Message is set to : JBoss14:56:25,375 INFO  [stdout] (MSC service thread 1-1)  Starting start() Test invoked
启动JBOSS_HOME/bin/jconsole,我们可以看到MyTestMBean位于test.testing下,如下图所示:

转载于:https://my.oschina.net/iwuyang/blog/197233

你可能感兴趣的文章
【uva 1312】Cricket Field(算法效率--技巧枚举)
查看>>
VS2017 MVC项目,新建控制器提示未能加载文件或程序集“Dapper.Contrib解决方法
查看>>
【ora-err】ORA-03113: end-of-file on communication channel
查看>>
00.索引-综述
查看>>
strcpy
查看>>
AC3 Rematrix
查看>>
C#之Windows Form Application与attribute
查看>>
函数与指针分析实例
查看>>
爬虫:pycurl模块的使用说明
查看>>
Halcon算子翻译——try
查看>>
Win732位安装PostgreSQL9
查看>>
Ext JS4学习笔记1——环境的搭建
查看>>
.net MVC3实现不同的角色用不同的登录页面
查看>>
Scala学习笔记-12
查看>>
eq与gt的妙用
查看>>
哈哈哈
查看>>
projectEuler pro10
查看>>
聚焦“云开发圆桌论坛”,大前端Serverless大佬们释放了这些讯号!
查看>>
数学模板
查看>>
c#中英文混合字符串截取指定长度
查看>>