标准MBean的描述

Ram*_*man 5 java jboss jmx

我想在JBoss jmx-console中使我的标准MBean详细.DynamicMBean有getMBeanInfo()来做.方法返回MBeanInfo,其中包含MBean的描述.但是我怎么能为Standard MBean做同样的事情呢?例如,我有以下MBean接口:

public interface MyMBean {
  String f();
}
Run Code Online (Sandbox Code Playgroud)

......以下实施:

public class My implements MyMBean {
  public String f() {
    return "test";
  }
}
Run Code Online (Sandbox Code Playgroud)

在这样的例子中应该怎么做才能添加描述?

谢谢

Rol*_*Huß 4

对于 StandardMBeans,无法添加描述或其他元信息。

来自 JavaDoc MBeanInfo

未指定标准 MBean 的 MBeanInfo 的其余详细信息。这包括 MBeanInfo 以及任何包含的构造函数、属性、操作和通知的描述;以及构造函数和操作的参数的名称和描述。

因此,您至少需要使用 DynamicMBeans(或 ModelMBean 或 OpenMBean)来指定此信息。Spring 可以帮助您,因为它允许通过注释创建 DynamicMBean,最终比编写自己的 StandardMBean 更容易使用。示例(来自 spring 文档):

@ManagedResource(objectName="bean:name=testBean4",
                 description="My Managed Bean")
public class AnnotationTestBean {

    private int age;

    @ManagedAttribute(description="The Age Attribute", currencyTimeLimit=15)
    public int getAge() {
        return age;
    }
}
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅这篇文章

  • 请注意,这些注释来自 Spring!所以如果你不使用Spring,你也不能使用这些注解。 (5认同)