6

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

Java 类:$Proxy483
描述:MBean的管理接口信息

在我看到的属性和操作的描述中:

操作暴露给管理

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

提前致谢

4

2 回答 2

0

您是否尝试提供对象名称和描述?

@ManagedResource(
    objectName="org.springbyexample.jmx:name=ServerManager", 
    description="Server manager."
)
于 2013-04-13T01:08:36.937 回答
0

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

<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>
于 2013-03-17T09:40:02.917 回答