我注意到有些MBean有嵌套键;如何使查询获取该密钥?
下图显示了一个示例:
通常,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,它没有提到嵌套键的任何内容。
我注意到当我查看jconsole
时,我可以在属性列表中添加范围:
所以,我用的是:
"org.apache.cassandra.metrics:type=Cache,scope=CounterCache,name=HitRate"
很高兴知道它没有在任何地方记录......
要使用JConsole获取tomcat的所有会话ID,可以在以下位置找到: -
Catalina> Manager> localhost> / ## 07(> Operations> listSessionIds)
要获取MBean对象名称/ ## 07,只需在JConsole上单击它,它将显示名称。(如下所示)
用于获取所有会话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();