我想在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中新增的「保存字節碼參數名」設施已經在這裏自動利用。 –