- 浏览: 7325902 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (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的信息
具体实现JMX的注释的类:
package com.easyway.jboss.jmx.spring.service; /** * 采用Spring的注释(Metadata)方式实现JMX的开发 * MbeanInfoAssembler接口 在后台,MbeanExporter委派一个org.springframework.jmx.export. assembler.MbeanInfoAssembler 接口的实现来负责为每个bean定义发布出来的管理接口。默认的实现 org.springframework.jmx.export.assembler. SimpleReflectiveMBeanInfoAssembler, 只是简单的定义一个接口发布所有的公共参数和方法,正如你在前面的例子中看到的一样。 Spring为MbeanInfoAssembler接口提供两个额外的实现,允许你通过源码级元数据或任意的接口 来控制管理接口。 *要标示一个bean发布给JMX,你应当用ManagedResource参数来注解这个bean类。 *在使用普通参数元数据方法的场合中,这个类可以在org.springframework.jmx.metadata *包中找到。每个要发布为操作的方法应当用ManagedOperation属性来标示, *每个要发布的参数应当用ManagedAttribute参数来标示。当标示参数时, *你可以省略getter或setter来分别创建一个只写或只读的参数。 * * * 你同样注意到clientId和clientStatus属性都用ManagedAttribute来标示,但是clientStatus属性只标示了getter方法。 * 这将使得这两个属性都作为参数被包含在管理接口中,并且age参数是只读的。 * 最后,你会注意到pause()方法用ManagedOperation参数来标示而publicMessage()方法没有标示。 * 这将使得当使用MetadataMBeanInfoAssembler时,管理接口中只包含一个操作pause()。 * * @author longgangbai * * * *@@org.springframework.jmx.export.annotation.ManagedResource(description="my Managed Bean",objectName="spring:bean=test") */ public class JMXMetaMBeanManager { private int clientId; /** * @@org.springframework.jmx.export.metadata.ManagedAttribute * (description="The clientId Attribute", currencyTimeLimit=20, * defaultValue="0001") */ public int getClientId() { return clientId; } /** * @@org.springframework.jmx.export.metadata.ManagedAttribute * (description="set The clientId Attribute", currencyTimeLimit=20, * defaultValue="0001", persistPolicy="OnUpdate") */ public void setClientId(int clientId) { this.clientId = clientId; } private int clientStatus; /** * @@org.springframework.jmx.export.annotation.ManagedOperation(description = "pause a single proccess") */ public void pause(String n) { System.out.println("pause"); } /** * @@org.springframework.jmx.export.annotation.ManagedOperation(description = "shutting down…") */ public void monitor() { System.out.println("shutting down…"); } public void publicMessage() { System.out.println("public Message to monitor server"); } /** * @@org.springframework.jmx.export.metadata.ManagedAttribute * (description="The clientStatus Attribute", currencyTimeLimit=20, * defaultValue="bar", persistPolicy="OnUpdate") */ public int getClientStatus() { return clientStatus; } public void setClientStatus(int clientStatus) { this.clientStatus = clientStatus; } }
配置如下:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <!-- 利用MetadataMBeanInfoAssembler,你能使用源码级元数据为你的bean定义管理接口。 元数据的读取被封装在org.springframework.jmx.export.metadata. JmxAttributeSource接口。 在该单元外,Spring JMX为这个接口提供两种支持:支持普通参数的 org.springframework.jmx.export.metadata. AttributesJmxAttributeSource 和支持JDK5.0注解的org.springframework. jmx.export.annotation.AnnotationJmxAttributeSource。 MetadataMBeanInfoAssembler必须要配置一个JmxAttributeSource的实现才能正确运行。 --> <!-- 创建相关的Bean对象并设置参数 --> <bean id="monitorMetaMBeanManager" class="com.easyway.jboss.jmx.spring.service.JMXMetaMBeanManager"/> <!-- 创建一个MBeanServer对象, --> <bean id="mbeanServer" class="org.springframework.jmx.support.MBeanServerFactoryBean"> </bean> <bean id="jmxAttributeSource" class="org.springframework.jmx.export.metadata.AttributesJmxAttributeSource"> <property name="attributes"> <bean class="org.springframework.metadata.commons.CommonsAttributes"></bean> </property> </bean> <bean id="assembler" class="org.springframework.jmx.export.assembler.MetadataMBeanInfoAssembler"> <property name="attributeSource"> <ref local="jmxAttributeSource"/> </property> </bean> <!--一个由 MBeanServerFactoryBean 创建的 MBeanServer 实例,它通过属性server提供给了 MBeanExporter。 当你提供了你自己的 MBeanServer 实例后,MBeanExporter 将使用该实例,且不再查找一个运行中的 MBeanServer。 设置相关的Bean的暴露为JMX 关系最大的是 exporter Bean。beans 属性使得 MBeanExporter 知道要将哪个Bean输出到JMX的 MBeanServer 上去。 缺省配置中,beans 里的 Map 中的条目的key被用作相应条目值所引用的Bean的 ObjectName。 --> <bean id="exporter" class="org.springframework.jmx.export.MBeanExporter"> <property name="assembler"> <ref local="assembler"/> </property> <property name="beans"> <map> <entry key="bean:name=monitorMetaMBeanManager" value-ref="monitorMetaMBeanManager"> </entry> </map> </property> <property name="server" ref="mbeanServer"/> </bean> </beans>
发表评论
-
【转】在项目中使用多个数据源-多sessionFactory方案
2013-05-10 16:30 3117适用范围:适合SSH架构访问多个数据库, ... -
【转】使用spring的动态路由实现数据库负载均衡
2013-03-17 22:57 3293使用spring的动态路由实现数据库负载均衡 系统中 ... -
【转】spring 数据库读写分离
2013-03-17 22:56 2801什么是数据库的读写分离 数据库的读写分离简单的说是把对数据 ... -
[转]Spring+iBatis+JOTM实现JTA事务
2013-03-17 22:51 3050Spring+iBatis+JOTM实现JTA事务 ... -
Spring 和Axis2整合相关那些事
2012-12-29 12:58 10413Axis2优劣: 现在用axis2开发一个webse ... -
【转】JAVA并发容器代码随读
2012-12-06 15:29 2943转载自 http://rdc.taobao.c ... -
Spring3.04和Junit4
2011-11-27 18:15 4385在Spring3.x以上必须采用 ... -
Spring加载属性文件的扩展
2011-08-22 12:21 3019在项目中一个属性文件配置信息,提供给数据连接信息 ... -
Brap和Spring整合(简单权限验证)
2011-07-26 10:31 1380在使用Spring的发 ... -
Quartz的任务的临时启动和暂停和恢复
2011-07-16 10:18 40183在项目中需要手动启停某些服务,那么需要有一个控 ... -
Quartz中定时调度EJB3.0服务
2011-07-13 22:25 2932在quartz2.0中只支持EJb2.0的服务 ... -
Quartz中定时调度EJB2.0服务
2011-07-13 22:12 2179在Quartz2.0中提供支持EJB2.0 ... -
Quartz的简单使用
2011-07-13 22:05 9947最近工作需要学习quartz,那么必须首先了解三个概念:调度器 ... -
Brap 远程访问调用 和Spring整合(二)
2010-12-08 14:52 1999Brap和 Spring 整合使用如 ... -
闲着没事Hessian开发WebService的总结(二)
2010-12-07 20:30 4024在Spring和Hessian整合中,以前 ... -
Spring JMX的总结学习(二) 注解实现MBean
2010-12-03 17:24 6269本文采用Spring JMX ... -
Spring JMX的总结学习(一)基于标准接口的JMX
2010-12-03 17:21 3775在Spring中采用JMX标准形式的,开发相关的Spr ... -
Spring JMS的开发应用--自定义消息转换器的使用(四)
2010-12-03 01:37 2506在Spring JMS、中可以通过实现Me ... -
Spring JBOSSMQ JMS的开发应用(三)
2010-11-30 20:11 2339如果用过JMS的话,会发现它类似写JD ... -
Spring中AOP实现EHCache的整合中采用SpringModule结合(二)
2010-09-01 19:22 2442在Spring中通过EHCa ...
相关推荐
Spring 源码注释中文版的提供,使得开发者能够更加深入地理解 Spring 的工作原理,无需经过复杂的编译过程,可以直接阅读源码注释来学习。 Spring 框架主要由以下几个关键模块组成: 1. **Core Container(核心...
Spring Async / JMX控制台示例此示例说明: @Async注释在Spring中的用法JMX控制台显示应用程序的当前线程使用情况@Async注释配置AsyncController-AsyncController中的getAsyncResults进行完全并行的调用,并在不同的...
10.4 使用基于消息的RPC 10.4.1 引入Lingo 10.4.2 输出服务 10.4.3 代理JMS 10.5 小结 第11章 Spring和EJB 11.1 在Spring中置入EJB 11.1.1 代理会话Bean(EJB 2.x) 11.1.2 将EJB置入Spring Bean 11.2 开发...
在阅读Spring API文档时,开发者可以按照类和接口的层次结构来了解每个组件的功能,查阅方法签名以理解其行为,以及查看注释获取详细的使用指导。对于初学者,建议从核心模块开始学习,逐步深入到其他模块,结合实际...
10.4使用基于消息的rpc 10.4.1引入lingo 10.4.2输出服务 10.4.3代理jms 10.5小结 第11章spring和ejb 11.1在spring中置入ejb 11.1.1代理会话bean(ejb2.x) 11.1.2将ejb置入springbean 11.2开发spring驱动的...
10.4 使用基于消息的RPC 10.4.1 引入Lingo 10.4.2 输出服务 10.4.3 代理JMS 10.5 小结 第11章 Spring和EJB 11.1 在Spring中置入EJB 11.1.1 代理会话Bean(EJB 2.x) 11.1.2 将EJB置入Spring Bean 11.2 开发...
•Spring Boot CLI: 使用CLI •核心特性: SpringApplication |外部配置|概要|日志 •Web应用:MVC |嵌入式容器 •处理数据:SQL | NO-SQL •消息传递:概述| JMS •测试:概述|引导应用| Utils •扩展:自动配置| @...
4. **学习源码注释**:Spring的源码注释非常丰富,可以从中获取大量信息。 5. **查阅文档**:Spring的官方文档是理解源码的重要辅助资源,它提供了详细的API说明和使用示例。 6. **参与社区**:加入Spring社区,...
common.jar jboss-jmx.jar jboss-system.jar jacc-1_0-fr.jar jgroups-2.2.8.jar oscache-2.1.jar proxool-0.8.3.jar swarmcache-1.0rc2.jar classes12.jar spring.jar ...
《XDoclet插件集1.0.3详解》 在软件开发领域,尤其是在Java世界里,自动化工具...然而,随着Java框架的发展,例如Spring Boot等现代框架的出现,XDoclet的使用逐渐减少,但其设计理念和自动化思想仍然值得学习和借鉴。
开发者通过学习这个项目,可以掌握如何在实际项目中灵活配置和管理多个数据库,以及如何利用AOP进行动态数据源切换,这对于大型分布式系统的开发尤其有价值。同时,理解项目的代码结构和功能备注,将有助于提高解决...
鼓励使用Java配置,但XML配置也得到了改进,比如支持注释驱动的配置。 14. **JMX增强**: 提供了更好的JMX支持,可以更轻松地管理和监控Spring应用。 15. **模块化**: Spring 4将框架分解为更小的模块,使得...
XDoclet的名字源于“XML Documentlet”,它是一种基于Javadoc的扩展,可以读取Java源代码中特定的注释,并根据这些注释生成相应的XML文档或代码。这个过程使得开发者无需手动编写大量的配置文件,从而更专注于业务...
然而,随着Java EE规范的发展,一些现代框架如Spring和Java Persistence API (JPA) 提供了更简便的注解方式,使得XDoclet的地位受到了挑战。尽管如此,XDoclet依然是理解和学习元数据驱动开发的一个重要参考。 总结...
xdoclet是一款基于JavaDoc注解的代码生成工具,它通过解析Java源代码中的特定注释(即JavaDoc标签),自动生成各种元数据文件,如EJB组件接口、Hibernate映射文件、JMX管理接口等。这种自动化的方式避免了手动编写...
5. **其他框架支持**:除了上述框架,XDoclet还可以与许多其他的Java框架集成,如Spring、JMX等,帮助生成对应的配置文件。 **XDoclet标签** XDoclet的标签语法是在Javadoc注释中嵌入的,例如`@ejb.bean`、`@...
XDoclet这个名字来源于“XML Doclet”,意味着它是一种基于JavaDoc的插件,能够从Java源代码中的Javadoc注释自动生成各种元数据文件,如部署描述符(deployment descriptors)、持久化映射文件(persistence ...
在这个例子中,JMX 服务器的相关配置(`jmxFactory` 和 `jmxAgent`)被注释掉,因为它们可能引起冲突或者不必要的远程连接暴露。 8. **部署与测试**:完成上述步骤后,将项目部署到 Tomcat 并启动。在实际操作中,...