【问题标题】:Java Spring Framework jmx managed annotation @ManagedAttribute not showing method in MBeanServerConnection/Jconsole/Visual vm/bean listJava Spring Framework jmx 托管注释@ManagedAttribute 未在 MBeanServerConnection/Jconsole/Visual vm/bean 列表中显示方法
【发布时间】:2013-08-22 07:16:02
【问题描述】:

我在我的代码中添加了 Spring 注释 但是当通过可视 vm 连接时,方法“myExample()”没有显示在 JMX bean 列表中

我的代码:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jmx.export.annotation.ManagedAttribute;
import org.springframework.jmx.export.annotation.ManagedResource;
import org.springframework.stereotype.Component;


@Component
@ManagedResource
public class MyClass {

   @Autowired
   private Example exampleService;

   @ManagedAttribute
   public String myExample() {
      return exampleService.getSomething().toString();
   }
} 

知道为什么会这样吗?

【问题讨论】:

    标签: java spring spring-annotations spring-jmx


    【解决方案1】:

    您应该改用@ManagedOperation@ManagedAttribute 仅适用于 getter / setter 方法。

    【讨论】:

    • 唯一的区别是 ManagedOperation 适用于所有方法,而 ManagedAttribute 仅适用于 getter 和 setter?
    • 参见 Javadoc。 ManagedOperation 可以与 ManagedOperationParameters 一起设置
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-23
    • 2016-11-12
    • 2016-10-24
    • 1970-01-01
    相关资源
    最近更新 更多