我创建了一些实现接口的 bean,并创建了一个自定义MBean
导出器来将这些 bean 公开给jconsole
. 尽管一切正常,但描述未正确显示。在 bean 的顶部,我看到:
Java 类:$Proxy483 描述:MBean的管理接口信息
在我看到的属性和操作的描述中:
操作暴露给管理
有没有办法查看我在@ManagedResource
注释中设置的描述?
提前致谢
您是否尝试提供对象名称和描述?
@ManagedResource(
objectName="org.springbyexample.jmx:name=ServerManager",
description="Server manager."
)
您需要为您的 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>