Jean中的MBean嵌套对象名称

时间:2015-11-12 01:02:17

标签: java jmx mbeans

我注意到有些MBean有嵌套键;如何使查询获取该密钥?

下图显示了一个示例:

enter image description here

通常,MBean查询是这样的:"org.apache.cassandra.metrics:type=CQL,name=RegularStatementsExecuted"

如何将其他文件夹添加到该查询?我尝试了以下内容:

"org.apache.cassandra.metrics:type=Cache,CounterCache,name=Capacity"
"org.apache.cassandra.metrics:type=Cache.CounterCache,name=Capacity"
"org.apache.cassandra.metrics:type=Cache,type=CounterCache,name=Capacity"

有什么想法吗?

我查看了http://www.oracle.com/us/technologies/java/best-practices-jsp-136021.html,但没有提到嵌套密钥的任何内容。

2 个答案:

答案 0 :(得分:4)

我注意到,当我查看library(data.table) mydt <- as.data.table(mydf) mydt[, level := ifelse(is.max(mycrime), "worst", level), by = "mystate"] 时,我可以将范围添加到属性列表中:

所以,我用的是:

jconsole

很高兴知道它没有在任何地方记录......

答案 1 :(得分:1)

使用 JConsole 获取tomcat的所有会话ID,可在以下位置找到: -

Catalina&gt;经理&gt; localhost&gt; / ## 07(&gt; Operations&gt; listSessionIds)

要获取/ ## 07的 MBean对象名称,只需在JConsole上单击它,它就会显示名称。(如下所示)

enter image description here

获取所有会话ID的Java代码:

JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:9999/jmxrmi");
JMXConnector jmxConn = JMXConnectorFactory.connect(url, null);
// Connecting to the MBeanServer
MBeanServerConnection mbsConn = jmxConn.getMBeanServerConnection();

Object sessionIds = mbsConn.invoke(new ObjectName("Catalina:type=Manager,host=localhost,context=/##07"), "listSessionIds", null, null);

System.out.println(sessionIds.toString());
//close jmx connection
jmxConn.close();