在日常开发过程中,经常会遇到需要加字段、加表的情况,不可避免的就需要去刷数据,常用的方法是价格http接口或dubbo接口,外部调用触发割接程序。这里介绍一直更简单的方式,使用spring的注解,把割接程序暴露给jmx,直接用工具连jvm,查看MBean执行割接方法即可。

  1. @ManagedResource 加在Class上,Spring指示向 JMX 服务器注册类的实例
  2. @ManagedOperation 加在Method上,Spring指示将指定方法公开为 JMX 操作(仅get/set方法无效)
  3. @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相关推荐

  1. Spring @Value注解的使用方式

    常见用法一: import org.springframework.beans.factory.annotation.Value; import org.springframework.context ...

  2. 利用Spring Hibernate注解packagesToScan的简化自动扫描方式

    发现一种Spring Hibernate 注解的简化方式 原始方式 <property name="annotatedClasses"> <list> &l ...

  3. Spring 使用注解方式进行事务管理

    2019独角兽企业重金招聘Python工程师标准>>> 大家在使用spring的注解式事务管理时,对事务的传播行为和隔离级别可能有点不知所措,下边就详细的介绍下以备方便查阅. 事物注 ...

  4. 第五章 Spring进阶-注解方式实现AOP(1)

    <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 徒弟:师傅,我 ...

  5. Spring 使用注解方式进行事物管理

    Spring 使用注解方式进行事物管理 大家在使用spring的注解式事务管理时,对事务的传播行为和隔离级别可能有点不知所措,下边就详细的介绍下以备方便查阅. 事物注解方式: @Transaction ...

  6. 【Spring注解系列07】Spring注入Bean有哪些方式总结

    给Spring容器中注册组件方式: 1).包扫描+组件标注注解(@Controller/@Service/@Repository/@Component) 2).@Bean 导入的第三方包里面的组件 3 ...

  7. Spring AOP注解方式实现

    简介 上文已经提到了Spring AOP的概念以及简单的静态代理.动态代理简单示例,链接地址:https://www.cnblogs.com/chenzhaoren/p/9959596.html 本文 ...

  8. Spring基于注解的方式二

    Spring基于注解二 上一次介绍了很多的关于spring的基本的注解,这篇文章描述一下关于Spring注解的基本的原理,从简单的例子入手 @Configuration @Import({Color. ...

  9. Spring基于注解的方式一

    Spring基于注解的方式一 Spring注解简介 之前的时候我们学习的Spring都是基于Spring配置文件的形式来编写,现在很多的情况下使用SpringBoot的时候是基于注解的形式,这里我们首 ...

最新文章

  1. mongodb-$type、limit、skip、sort方法、索引、聚合
  2. emcy协议_CANopen协议 -
  3. LeetCode344——Reverse String(将字符串反转)
  4. 虚拟服务器的好处与坏处,常见服务器虚拟化的弊端主要是什么问题?
  5. 基环树DP(bzoj 1040: [ZJOI2008]骑士)
  6. Hbase过滤器与scala编程
  7. axure源文件_Axure函数应用:指示线跟随地图所选区域,并展示相应数据可视化...
  8. Java面试题,成员变量以及成员方法的调用,类和对象的关系,程序详细流程,类和对象栈堆的详细解答
  9. python万年历代码带解释_Python 万年历代码简单示例
  10. 【aliplayer】阿里播放器的使用
  11. Win10 远程桌面黑屏问题
  12. 算法在身边——学习算法从妈妈的菜谱开始
  13. 知识图谱 helloword
  14. 判断链表是否中心对称(21.6.8)
  15. facebook 登陆失败 分享失败 原因汇总
  16. Ring Buffer介绍
  17. 富途牛牛2021校招,超多岗位等你来
  18. shader graph落在地面的水滴涟漪效果制作思路
  19. D. Alex and Julian
  20. 项目4.1穷举法-百元买百鸡

热门文章

  1. 使用uniapp时候根据设计图得出标准长宽比
  2. win10系统蓝牙耳机的连接与连接后无法听到声音
  3. 专访|带着问题去学习,Apache DolphinScheduler 王福政
  4. virtualBox虚拟机之间网络互通设置
  5. 购买弹性云服务器怎么部署网站,购买后怎么部署自己的云服务器
  6. Civil 3d 之枚举 SpiralType
  7. 效果 - 收藏集 - 掘金
  8. 34-高级路由:BGP汇总:实验五 route-map+suppress-map过滤、as-set
  9. makefile suppress echoing the actual command @
  10. 2022基于云开发的去水印小程序源码