gpt4 book ai didi

java - 为什么 JBoss JMX 控制台不显示 Spring 定义的 MBean 的描述?

转载 作者:行者123 更新时间:2023-11-30 11:57:29 31 4
gpt4 key购买 nike

我有一个 Spring bean,它使用 Spring 注释通过 JMX 公开,但参数名称保持空白,并且操作和参数描述没有显示。是否可以在不求助于繁琐的 XML 定义文件的情况下解决这个问题?

我紧跟着 a blog post 实现了这个.这是我的简化代码:

import org.springframework.jmx.export.annotation.ManagedOperation;
import org.springframework.jmx.export.annotation.ManagedOperationParameter;
import org.springframework.jmx.export.annotation.ManagedOperationParameters;
import org.springframework.jmx.export.annotation.ManagedResource;

@ManagedResource(objectName="group:name=foo", description="Does a lot of fooing")
public class Foo {
@ManagedOperation(description="Changes the period of the given task and applies it immediately if the task is enabled.")
@ManagedOperationParameters({
@ManagedOperationParameter(name="index", description="the 0-based index of the fizzle"),
@ManagedOperationParameter(name="baz", description="the baz value to set on the fizzle")
})
public void changeFizzle(int index, long baz) {
// impl
}
}

相关的 spring 应用程序上下文定义是从上面链接的博客文章中逐字复制的。

最佳答案

您需要像这样为 MBeanExporter 定义正确的 MetadataMBeanInfoAssembler:

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

关于java - 为什么 JBoss JMX 控制台不显示 Spring 定义的 MBean 的描述?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3785566/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com