Spring JMX注解的使用方式:@ManagedResource @ManagedOperation @ManagedAttribute
在日常开发过程中,经常会遇到需要加字段、加表的情况,不可避免的就需要去刷数据,常用的方法是价格http接口或dubbo接口,外部调用触发割接程序。这里介绍一直更简单的方式,使用spring的注解,把割接程序暴露给jmx,直接用工具连jvm,查看MBean执行割接方法即可。
- @ManagedResource 加在Class上,Spring指示向 JMX 服务器注册类的实例
- @ManagedOperation 加在Method上,Spring指示将指定方法公开为 JMX 操作(仅get/set方法无效)
- @ManagedAttribute 加在Method上,Spring将指定的 bean 属性公开为 JMX 属性(仅get/set方法生效)
一、代码使用示例
import org.springframework.jmx.export.annotation.*;
import org.springframework.stereotype.Service;/*** @author lfg* @version 1.0*/
@Service
@ManagedResource(description = "spring jmx注解的demo类")
public class ManagedDemo {@ManagedOperation(description = "执行方法示例 execReturnString")//@ManagedOperationParameter 仅入参的文档注释,没实际意义@ManagedOperationParameters(value = {@ManagedOperationParameter(name = "paramOne", description = "this is paramOne desc"),@ManagedOperationParameter(name = "paramTwo", description = "this is paramTwo desc")})public String execReturnString(String paramOne, String paramTwo) {return paramOne + "-" + paramTwo;}@ManagedOperation(description = "执行方法示例 execVoid")public void execVoid() {}@ManagedAttribute(description = "ManagedAttribute 使用示例")public String getProperties() {return "this is ManagedAttribute";}}
二、效果展示
以下示例使用Jconsole工具,读者也可以使用自己喜欢的JVM工具,例如JProfiler ,MAT,VisualVM ,jmc等等
如执行报错,使用jmc能看到具体错误原因,作者遇到过aop处理参数有问题,导致@ManagedResource都无法使用的情况
1.@ManagedResource
如图所示MBean中已经暴露出该类了
2.@ManagedOperation
如图所示,jmx中可以填入方法参数,并执行方法,获得返回值。需要注意的是,如想在jmx中执行方法,类上需要加@ManagedResource,把Bean暴露给JMX,否则类都不可见,执行方法就更无从谈起
4. @ManagedAttribute
需要将Bean中属性值暴露出去,或者修改属性值的时候可使用该注解
Spring JMX注解的使用方式:@ManagedResource @ManagedOperation @ManagedAttribute相关推荐
- Spring @Value注解的使用方式
常见用法一: import org.springframework.beans.factory.annotation.Value; import org.springframework.context ...
- 利用Spring Hibernate注解packagesToScan的简化自动扫描方式
发现一种Spring Hibernate 注解的简化方式 原始方式 <property name="annotatedClasses"> <list> &l ...
- Spring 使用注解方式进行事务管理
2019独角兽企业重金招聘Python工程师标准>>> 大家在使用spring的注解式事务管理时,对事务的传播行为和隔离级别可能有点不知所措,下边就详细的介绍下以备方便查阅. 事物注 ...
- 第五章 Spring进阶-注解方式实现AOP(1)
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 徒弟:师傅,我 ...
- Spring 使用注解方式进行事物管理
Spring 使用注解方式进行事物管理 大家在使用spring的注解式事务管理时,对事务的传播行为和隔离级别可能有点不知所措,下边就详细的介绍下以备方便查阅. 事物注解方式: @Transaction ...
- 【Spring注解系列07】Spring注入Bean有哪些方式总结
给Spring容器中注册组件方式: 1).包扫描+组件标注注解(@Controller/@Service/@Repository/@Component) 2).@Bean 导入的第三方包里面的组件 3 ...
- Spring AOP注解方式实现
简介 上文已经提到了Spring AOP的概念以及简单的静态代理.动态代理简单示例,链接地址:https://www.cnblogs.com/chenzhaoren/p/9959596.html 本文 ...
- Spring基于注解的方式二
Spring基于注解二 上一次介绍了很多的关于spring的基本的注解,这篇文章描述一下关于Spring注解的基本的原理,从简单的例子入手 @Configuration @Import({Color. ...
- Spring基于注解的方式一
Spring基于注解的方式一 Spring注解简介 之前的时候我们学习的Spring都是基于Spring配置文件的形式来编写,现在很多的情况下使用SpringBoot的时候是基于注解的形式,这里我们首 ...
最新文章
- mongodb-$type、limit、skip、sort方法、索引、聚合
- emcy协议_CANopen协议 -
- LeetCode344——Reverse String(将字符串反转)
- 虚拟服务器的好处与坏处,常见服务器虚拟化的弊端主要是什么问题?
- 基环树DP(bzoj 1040: [ZJOI2008]骑士)
- Hbase过滤器与scala编程
- axure源文件_Axure函数应用:指示线跟随地图所选区域,并展示相应数据可视化...
- Java面试题,成员变量以及成员方法的调用,类和对象的关系,程序详细流程,类和对象栈堆的详细解答
- python万年历代码带解释_Python 万年历代码简单示例
- 【aliplayer】阿里播放器的使用
- Win10 远程桌面黑屏问题
- 算法在身边——学习算法从妈妈的菜谱开始
- 知识图谱 helloword
- 判断链表是否中心对称(21.6.8)
- facebook 登陆失败 分享失败 原因汇总
- Ring Buffer介绍
- 富途牛牛2021校招,超多岗位等你来
- shader graph落在地面的水滴涟漪效果制作思路
- D. Alex and Julian
- 项目4.1穷举法-百元买百鸡
热门文章
- 使用uniapp时候根据设计图得出标准长宽比
- win10系统蓝牙耳机的连接与连接后无法听到声音
- 专访|带着问题去学习,Apache DolphinScheduler 王福政
- virtualBox虚拟机之间网络互通设置
- 购买弹性云服务器怎么部署网站,购买后怎么部署自己的云服务器
- Civil 3d 之枚举 SpiralType
- 效果 - 收藏集 - 掘金
- 34-高级路由:BGP汇总:实验五 route-map+suppress-map过滤、as-set
- makefile suppress echoing the actual command @
- 2022基于云开发的去水印小程序源码