【发布时间】:2009-12-23 00:14:13
【问题描述】:
我正在为我们产品中的 JMX 接口编写一些测试用例。我可以从标准 MBean 访问属性(在 sun tutorial 之后)。但是,我似乎无法访问动态 MBean。这些属性完全来自 JConsole(可读/可写)。
JMXConnector jmxc = getJMXConnector(); // Takes care of our connection
MBeanServerConnection mbsc = jmxc.getMBeanServerConnection();
ObjectName mbeanName = new ObjectName("com.xyz.prodname:type=LogManager");
// Up to this point, the logic is the same as the working logic. In our working logic,
// DynamicMBean is replace with our MBean interface class.
DynamicMBean mbean = (DynamicMBean)JMX.newMBeanProxy(mbsc, mbeanName, DynamicMBean.class);
Object o = mbean.getAttribute("AttributeNameAsItAppearsInJConsole");
o 应该是一个布尔值,但它是空的。不会抛出异常。
我还尝试了其他一些属性名称的排列方式,但我相信它应该是我在实现类中定义的简单名称。
【问题讨论】: