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

标签 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;
    }
}

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

最佳答案

您可以通过以下方式获取:

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

其中服务器是 MBeanServerConnection,“State”是属性名称。

关于java - 在JMX中,我可以直接获取特定的MBeanAttributeInfo吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8476657/

相关文章:

java - Httpclient 4.5 关闭 http 连接需要双倍时间

java - 生命周期配置未涵盖插件执行?

java - 如何枚举 JDK 的所有 MBean?

java - 如何使用 Wildfly 10 连接到远程连接器?

java - 关于如何处理涉及 API 集成的项目的想法

Java 正则表达式到 xml

java - 在 websphere 应用服务器中通过 spring 加载资源

java - 如何在 JavaFX 中禁用或绕过硬件图形加速(Prism)

java - MBean 中的属性与 Web 应用程序收到的属性不同

shell - 从一个节点到另一个节点的 Nodetool 命令不起作用