2013-03-02 55 views
1

我正在尋找一種簡單直接的方法來將JMX容量添加到應用程序,最好通過http公開。下面是簡單的代碼片段,我懷疑它應該在8000上運行http服務器。我應該可以通過http://localhost:8000訪問它。但是頁面無法打開。我找不到應該如何工作的適當文件。JMX Html適配器

jmxtools-1.2.jar包含在classpath中。 Java版本 - 1.6

import javax.management.MBeanServerFactory; 
import javax.management.ObjectName; 
import com.sun.jdmk.comm.HtmlAdaptorServer; 

public class JmxHttpAdapter { 
    public static void main(String[] args) { 
     try { 
      com.sun.jdmk.comm.HtmlAdaptorServer adapter = new HtmlAdaptorServer(8000); 
      MBeanServerFactory.createMBeanServer().registerMBean(adapter, new ObjectName("Adaptor:name=html,port=8000")); 
      adapter.start(); 
      Thread.sleep(100000); 
     } catch (Exception ex) { 
      ex.printStackTrace(); 
     } 
    } 
} 

回答

2

不知道爲什麼該適配器不工作,但你可以找到在Java Dynamic Management Kit 5.1 Tools Reference Guide的第2章文檔。

MX4J也有一個HTTP Adaptor這也是舊的,但你可能會發現它有更好的記錄。

你應該看看Jolokia。這是更現代的,仍在積極發展。它是一個基於HTTP的REST代理,有幾個安裝選項,包括WARJava Agent。儘管有很多工具可以使用它,但這並不能讓你獲得用戶界面。同一個開發人員正在爲Jolokia開發一個名爲Aji的UI項目,但我不確定現在是什麼狀態。

下面就來爲阿吉內置UI的一些參考:

+1

這是荒謬的,但這個端口一直佔線。不知道爲什麼我沒有收到異常。 – user12384512 2013-03-03 17:32:01

+1

啊......這很奇怪。那麼適配器現在適合你嗎? – Nicholas 2013-03-03 20:10:37

+1

是的,上面的代碼工作正常 – user12384512 2013-03-03 20:14:23