【发布时间】:2017-03-30 05:54:09
【问题描述】:
我想在 Apache-Tomcat 7.0 上公开我的 MXBean。 虽然我的 MXBean 注册成功,但我无法向那些 MXBean 公开的操作添加描述。
注册 MXBeans
MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
ObjectName m_mxbeanOName = new ObjectName( "MyMXBean:type=" + "MyComponent"+",name=MyMXBean");
MyMXBean m_mxbean = new MyMXBean ();
if(!mbs.isRegistered(m_mxbeanOName))
mbs.registerMBean(m_mxbean, m_mxbeanOName);
MyMXBean 接口
public interface MyMXBean {
public int add (int x, int y);
}
MyMXBean 实现
import com.sun.org.glassfish.gmbal.Description;
import com.sun.org.glassfish.gmbal.DescriptorFields;
import com.sun.org.glassfish.gmbal.Impact;
import com.sun.org.glassfish.gmbal.ManagedOperation;
public class MyMXBeanImpl implements MyMXBean {
@ManagedOperation(impact=Impact.ACTION_INFO)
@Description("Integer Addition: First parameter is the augend and second parameter is the addend.")
@DescriptorFields({"p1=augend","p2=addend"})
public int add(int x, int y) {
return x + y;
}
注解@ManagedOperation、@Description、@DescriptorFields 对jconsole 没有影响。 JConsole 继续显示默认值
请告诉我如何在 JConsole 上显示有关我的 MXBean 操作的描述。
【问题讨论】:
标签: jmx