Я пишу несколько тестов для интерфейса JMX в нашем продукте. Я могу получить доступ к атрибутам из стандартного MBeans (после sun tutorial ). Тем не менее, я не могу получить доступ к динамическим MBeans. Атрибуты полностью (доступны для чтения / записи) из 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 должно быть логическим, но оно равно нулю. Нет исключений.
Я также попробовал несколько других перестановок имени атрибута, но я считаю, что это должно быть простое имя, как я определил его в классе реализации.