我创建了一些实现接口的bean,并创建了一个自定义MBean
导出器来将这些bean公开给jconsole
。
虽然一切正常,但描述没有正确显示。
在bean的顶部,我看到:
Java Class : $Proxy483 Description : Information on the management interface of the MBean
以及我看到的属性和操作的描述:
Operation exposed for management
有没有办法查看我在@ManagedResource
注释中设置的说明?
提前致谢
答案 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."
)