在JMX中,我可以直接获取特定的MBeanAttributeInfo吗?

时间:2011-12-12 15:27:41

标签: java jmx

有没有办法在没有其他库的情况下直接获取特定属性的MBeanAttributeInfo,而不是使用MBeanInfo.getAttributes()并通过它进行线性搜索?

示例场景:检查示例中的给定属性 - jboss:service=Mail.State是否可写。

MBeanServer server; // Assume this is initialized somewhere else

MBeanAttributeInfo[] infos = server.getMBeanInfo(new ObjectName("jboss:service=Mail"));
for(MBeanAttributeInfo info : infos) {
    if(info.getName().equals("State")) {
        if(info.isWritable()) {
            //do something
        }
        break;
    }
}

我希望找到的内容类似getAttributeInfo(ObjectName name, String attribute)中的MBeanServer方法。

1 个答案:

答案 0 :(得分:1)

你可以通过以下方式获得:

server.getAttribute(new ObjectName("jboss:service=Mail"), "State")

其中server是MBeanServerConnection,“State”是属性名称。