- 浏览: 7356412 次
- 性别:
- 来自: 上海
-
文章分类
- 全部博客 (1546)
- 企业中间件 (236)
- 企业应用面临的问题 (236)
- 小布Oracle学习笔记汇总 (36)
- Spring 开发应用 (54)
- IBatis开发应用 (16)
- Oracle基础学习 (23)
- struts2.0 (41)
- JVM&ClassLoader&GC (16)
- JQuery的开发应用 (17)
- WebService的开发应用 (21)
- Java&Socket (44)
- 开源组件的应用 (254)
- 常用Javascript的开发应用 (28)
- J2EE开发技术指南 (163)
- EJB3开发应用 (11)
- GIS&Mobile&MAP (36)
- SWT-GEF-RCP (52)
- 算法&数据结构 (6)
- Apache开源组件研究 (62)
- Hibernate 学习应用 (57)
- java并发编程 (59)
- MySQL&Mongodb&MS/SQL (15)
- Oracle数据库实验室 (55)
- 搜索引擎的开发应用 (34)
- 软件工程师笔试经典 (14)
- 其他杂项 (10)
- AndroidPn& MQTT&C2DM&推技术 (29)
- ActiveMQ学习和研究 (38)
- Google技术应用开发和API分析 (11)
- flex的学习总结 (59)
- 项目中一点总结 (20)
- java疑惑 java面向对象编程 (28)
- Android 开发学习 (133)
- linux和UNIX的总结 (37)
- Titanium学习总结 (20)
- JQueryMobile学习总结 (34)
- Phonegap学习总结 (32)
- HTML5学习总结 (41)
- JeeCMS研究和理解分析 (9)
最新评论
-
lgh1992314:
[u][i][b][flash=200,200][url][i ...
看看mybatis 源代码 -
尼古拉斯.fwp:
图片根本就不出来好吧。。。。。。
Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传 -
ln94223:
第一个应该用排它网关吧 怎么是并行网关, 并行网关是所有exe ...
工作流Activiti的学习总结(八)Activiti自动执行的应用 -
ZY199266:
获取不到任何消息信息,请问这是什么原因呢?
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息 -
xiaoyao霄:
DestinationSourceMonitor 报错 应该导 ...
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息
请您先登录,才能继续操作
通过Apache 的.commons-modeler组件和JMX 中MBean的描述,是JMX不必实现相关的XxxxMBean的实现,通过反射和MBean描述动态产生相关的MBean的对象和接口。
1.JMX的服务对象
package com.easyway.apache.moduler.jmx; /** * 备注此处的JMX没有实现相关的XxxMBean的接口 * @author longgangbai * */ public class EasywayService implements IEasywayService { private String serviceName; public String getServiceName() { return serviceName; } public void setServiceName(String serviceName) { this.serviceName = serviceName; } /* (non-Javadoc) * @see com.easyway.apache.moduler.jmx.IEasywayService#printHello() */ public void printHello() { System.out.println("Hello World, " + serviceName); } /* (non-Javadoc) * @see com.easyway.apache.moduler.jmx.IEasywayService#printHello(java.lang.String) */ public void printHello(String whoName) { System.out.println("Hello , " + serviceName); } }
2.针对JMX的MBean的描述符文件如下:
<?xml version="1.0"?> <mbeans-descriptors> <!-- 对<mbean>标签做一下说明: name mbean在xml中的唯一标识,不一定要和类同名 description mbean的注释说明信息 domain mbean所属域 group mbean所属组 type mbean的类全名(包名+类名) classname 指定实现代理功能的ModelMbean的全名,如果不指定则默认为BaseModelMBean 备注:在这个文件中可以配置对各JMXbean对象 --> <mbean name="EasywayService" description="the EasywayService bean" domain="easyway" group="helloGroup" type="com.easyway.apache.moduler.jmx.EasywayService"> <attribute name="serviceName" description="a name attribute" type="java.lang.String" writeable="true"/> <operation name="printHello" description="a operation to print hello" impact="INFO" returnType="String"/> </mbean> </mbeans-descriptors>
3.针对JMX的Agent代理如下:
package com.easyway.apache.moduler.jmx; import java.io.InputStream; import javax.management.MBeanServer; import javax.management.ObjectName; import javax.management.modelmbean.ModelMBean; import org.apache.commons.modeler.ManagedBean; import org.apache.commons.modeler.Registry; import com.sun.jdmk.comm.HtmlAdaptorServer; /** * JMX代理测试的应用 * @author longgangbai * */ public class EasywayServiceBeanAgent { public static void main(String[] args) throws Exception { //基于xml中的信息构建一个Registry Registry registry = Registry.getRegistry(null, null); InputStream stream = EasywayServiceBeanAgent.class.getResourceAsStream("/Mbeans-descriptors.xml"); registry.loadMetadata(stream); stream.close(); //由Registry得到一个MBeanServer MBeanServer server = registry.getMBeanServer(); //得到Hello在描述文件中的信息类,对应于xml文件<mbean>标签的name属性。 ManagedBean managed = registry.findManagedBean("EasywayService"); //创建ObjectName ObjectName helloName = new ObjectName(managed.getDomain() + ":name=EasywayService"); //得到ModelMBean 动态生成相应的方法的对应的XxxxMBean的接口 ModelMBean hello = managed.createMBean(new EasywayService()); //注册MBean server.registerMBean(hello, helloName); ObjectName adapterName = new ObjectName("EasywayServiceBeanAgent:name=htmladapter,port=8082"); HtmlAdaptorServer adapter = new HtmlAdaptorServer(); server.registerMBean(adapter, adapterName); adapter.start(); System.out.println("start....."); } }
发表评论
-
【转】Django resources
2014-01-23 14:35 10861Django resources This page li ... -
使用国内镜像源来加速python pypi包的安装
2014-01-16 11:16 197917pipy国内镜像目前有: http://pypi.d ... -
[转 ]vagrant使用简介
2014-01-10 13:53 258001> 简介: vagrant提供了易于配置,重复性 ... -
[转]在Java中调用Python
2014-01-07 13:08 9255在执行之前都需要把jython对应的包加载进去,这个是必须的 ... -
[转]Eclipse配置PyDev插件
2014-01-02 14:25 2870安装python解释器 安装PyDev: 首 ... -
RestFuse的研究(五) Http请求的封装
2014-06-14 15:50 3691在RestFuse中封装了Http请 ... -
RestFuse的研究(四) Junit的Statement的分析
2013-12-06 11:46 1705在RestFuse提供了多种单 ... -
RestFuse的研究(三) Junit的Rule的使用和分析
2013-12-06 11:01 2267在junit中定义一些可以公用的规则(R ... -
RestFuse的研究(二) Junit的Runner的分类和模式
2013-12-06 10:40 1631在Junit4中的调用JunitCore可以采 ... -
RestFuse的研究(一) HttpJunitRunner的实现
2013-12-06 10:11 1773在RestFuse是一种针对Rest We ... -
[转]An open-source JUnit extension to test HTTP/REST APIs
2013-12-06 09:57 1129http://developer.eclipsesource ... -
TestNG简单的学习(十三)TestNG中Junit的实现
2013-12-04 09:00 3383TestNG和junit的整合 ... -
TestNG简单的学习(十二)TestNG运行
2013-12-03 09:08 51643文档来自官方地址: ... -
TestNG简单的学习(十一)TestNG学习总结
2013-12-03 09:08 14264最近一直在学习关于TestNG方面的知识,根 ... -
TestNG简单的学习(十)TestNG @Listeners 的使用
2013-12-03 09:07 8731TestNG官方网站: http://testng.or ... -
TestNG简单的学习(九)TestNG Method Interceptors 的使用
2013-12-03 09:07 2745TestNG官方网站: http://testng ... -
TestNG简单的学习(八)TestNG Annotation Transformers 的使用
2013-12-03 09:07 2842TestNG官方网站: http://testng.or ... -
TestNG简单的学习(七)TestNG编程方式运行
2013-12-02 09:22 2484TestNG官方网站: http://testng.or ... -
TestNG简单的学习(六)测试工厂注释的使用
2013-12-02 09:22 2818TestNG官方网站: http://testng.or ... -
TestNG简单的学习(五)参数化测试数据的定制
2013-12-02 09:22 2732TestNG官方网站: http://testng.or ...
相关推荐
Apache Commons Modeler是Apache软件基金会开发的一个开源项目,主要用于简化Java Management Extensions (JMX)的开发。JMX是一种Java平台上的标准,它提供了一种框架来管理并监控应用程序、服务和设备,允许开发者...
Apache Commons是一个非常有用的工具包,解决各种实际的通用问题。(附件中提供了该工具包的jar包,及源文件以供研究) BeanUtils Commons-BeanUtils 提供对 Java 反射和自省API的包装 Betwixt Betwixt提供将 ...
commons-modeler 创建符合 JMX 规范的 MBeans 机制 commons-net 网络和协议实现的集合 commons-pool 提供了通用对象池接口,一个用于创建模块化对象池的工具包,以及通常的对象池实 commons-primitives java 简单...
commons-modeler 创建符合 JMX 规范的 MBeans 机制 commons-net 网络和协议实现的集合 commons-pool 提供了通用对象池接口,一个用于创建模块化对象池的工具包,以及通常的对象池实 commons-primitives java 简单...
- `commons-modeler-2.0.1.zip`:Apache Commons Modeler,用于动态建模和MBean创建,有助于实现JMX的MBean功能。 - `jmx-1_2_1-ri.zip`:早期版本的JMX实现,包含运行时接口(RI)和API。 - `jdmkrt.jar`:可能...
24. **Modeler**: Commons-Modeler提供了构建符合JMX规范MBean的工具,方便创建和管理Java管理扩展。 25. **Net**: Commons-Net包含了一系列网络工具,如FTP客户端,用于网络通信。 26. **Pool**: Commons-Pool...
Apache Jakarta Commons 是一组由 Apache 软件基金会提供的 Java 库,这些库旨在解决常见的编程问题,提供便捷的功能,减少开发人员重复编写基础代码的工作。Jakarta Commons 包含了许多子项目,每个子项目专注于...