1

我一辈子都无法让 Spring 导出有关我的 JMX bean 的元数据。

我将 Spring 配置如下:

<bean id="attributeSource" class="org.springframework.jmx.export.annotation.AnnotationJmxAttributeSource"/>

<bean id="namingStrategy" class="org.springframework.jmx.export.naming.MetadataNamingStrategy">
    <property name="attributeSource" ref="attributeSource"/>
</bean>

<bean id="assembler" class="org.springframework.jmx.export.assembler.MetadataMBeanInfoAssembler">
    <property name="attributeSource" ref="attributeSource"/>
</bean>

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

我有一个这样定义的 MXBean 接口:

@ManagedResource
public interface MyMXBean {
    @ManagedOperation(description="My description.")
    @ManagedOperationParameters({
        @ManagedOperationParameter(name = "myParam", description = "My param description.")
    })
    public void foo(String someParameter);
}

我的 bean 出现在 jconsole 中,但它没有显示关联的元数据,所以我没有得到操作描述或正确的参数名称/描述。

谁能告诉我我做错了什么?

4

0 回答 0