如何显示jmx MBean的类描述,属性描述和操作说明

时间:2013-02-21 17:51:37

标签: java spring jboss7.x jmx mbeans

我创建了一些实现接口的bean,并创建了一个自定义MBean导出器来将这些bean公开给jconsole。 虽然一切正常,但描述没有正确显示。 在bean的顶部,我看到:

Java Class :   $Proxy483
Description :   Information on the management interface of the MBean

以及我看到的属性和操作的描述:

Operation exposed for management

有没有办法查看我在@ManagedResource注释中设置的说明?

提前致谢

2 个答案:

答案 0 :(得分:0)

您的MBeanExporter需要一个JmxAttributeSource实现(没有默认值)。 Spring reference提供了以下示例:

<bean id="exporter" class="org.springframework.jmx.export.MBeanExporter">
    <property name="assembler" ref="assembler"/>
    <property name="namingStrategy" ref="namingStrategy"/>
    <property name="autodetect" value="true"/>
</bean>

<!-- Implementation of the JmxAttributeSource interface that reads JDK 1.5+ annotations and exposes the corresponding attributes -->
<bean id="jmxAttributeSource" class="org.springframework.jmx.export.annotation.AnnotationJmxAttributeSource"/>

<!-- will create management interface using annotation metadata -->
<bean id="assembler" class="org.springframework.jmx.export.assembler.MetadataMBeanInfoAssembler">
    <property name="attributeSource" ref="jmxAttributeSource"/>
</bean>

<!-- will pick up the ObjectName from the annotation -->
<bean id="namingStrategy" class="org.springframework.jmx.export.naming.MetadataNamingStrategy">
    <property name="attributeSource" ref="jmxAttributeSource"/>
</bean>

答案 1 :(得分:0)

您是否尝试提供对象名称和说明?

@ManagedResource(
    objectName="org.springbyexample.jmx:name=ServerManager", 
    description="Server manager."
)