[英]MBean nested object name in JMX
我注意到一些 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"
有任何想法嗎?
我查看了Java 管理擴展 (JMX) 最佳實踐,它沒有提到任何關於嵌套鍵的內容。
我注意到當我查看jconsole
時,我可以將范圍添加到屬性列表中:
所以,我使用的是:
"org.apache.cassandra.metrics:type=Cache,scope=CounterCache,name=HitRate"
很高興知道它沒有記錄在任何地方......
要使用JConsole獲取 tomcat 的所有會話 ID,可以在以下位置找到:-
Catalina > Manager > localhost > /##07 ( > Operations > listSessionIds )
要獲取/##07 的MBean 對象名稱,只需在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();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.