2011-02-24 55 views
1

有沒有辦法通過JSON訪問JBoss JMX數據?通過JSON訪問JBoss JMX數據

我正試圖使用​​來自多個不同服務器的數據將管理控制檯拉到一起。我可以使用屏幕抓取來實現這一點,但我更喜歡使用JSON對象或XML響應(如果存在),但我一直無法找到它。

回答

3

您應該看看Jolokia,這是一個用於JMX的全功能JSON/HTTP適配器。 它支持並已在JBoss以及許多其他平臺上進行過測試。 Jolokia 是一個代理,它是作爲普通的Java EE戰爭部署的,因此您只需將它放入您在JBoss安裝中的目錄中即可。此外,還有一些客戶端庫可用,例如jmx4perl它允許編程訪問代理。

有很多more發現,並積極開發。

0

如果您使用的是Java,那麼您可以創建一個小程序,它向JBoss服務器發出JMX請求並將響應轉換爲XML/JSON。

以下是一些小代碼片段。這可能會幫助你。

String strInitialProp = "javax.management.builder.initial"; 
System.setProperty(strInitialProp, "mx4j.server.MX4JMBeanServerBuilder"); 
String urlForJMX = "jnp://localhost:1099";//for jboss 

ObjectName objAll = ObjectName.getInstance("*:*"); 
JMXServiceURL jmxUrl = new JMXServiceURL(urlForJMX); 
MBeanServerConnection jmxServerConnection = JMXConnectorFactory.connect(jmxUrl).getMBeanServerConnection(); 

System.out.println("Total MBeans :: "+jmxServerConnection.getMBeanCount()); 
Set mBeanSet = jmxServerConnection.queryNames(objAll,null); 
0

有一些JMX的休息橋樑可用,在內部談話JMX MBean的來,露出了REST調用的結果(這可以提供JSON數據格式)。

參見例如polarrosejmx-rest-access。那裏還有其他幾個人。