我想在Apache-Tomcat 7.0上公开我的MXBeans。 尽管我的MXBean注册成功,但我无法将说明添加到由各个MXBeans公开的操作中。如何将说明添加到JMX MXBean
注册的MXBean
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操作的描述。
这本来是非常好的,如果用Java 8中新增的“保存字节码参数名”设施已经在这里自动利用。 –