我是靠谱客的博主 无限时光,最近开发中收集的这篇文章主要介绍Spring JMX注解的使用方式:@ManagedResource @ManagedOperation @ManagedAttribute,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在日常开发过程中,经常会遇到需要加字段、加表的情况,不可避免的就需要去刷数据,常用的方法是价格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的全部内容,希望文章能够帮你解决Spring JMX注解的使用方式:@ManagedResource @ManagedOperation @ManagedAttribute所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部