2013-08-17 74 views
1

全部,Jconsole遠程可執行jar文件

我有一個遠程服務器,我最近啓用VNC使用vnc4server和雞作爲客戶端的mac。

目的這樣做是爲了使運行Java的JConsole與監視運行我的服務器邏輯可執行的JAR文件。

但是,使用VNC登錄到我的服務器後,我一直當我嘗試使用JConsole的VNC上得到一個錯誤。

它指出連接失敗你想再試一次。現在我以啓動該進程的相同用戶身份登錄。

有什麼我的VNC使用jconsole時失蹤?我也可以使用我的本地機器上的Jconsole遠程監視我的可執行jar文件嗎?

這些都是我包括運行jar文件的選項:JAVA -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port = 9005 -Dcom.sun.management.jmxremote.authenticate = FALSE -Dcom.sun.management.remote.ssl =假-Djava.rmi.server.hostname = ip地址罐子路徑

感謝


固定的東西,這些JVM選項。費克斯這裏找到:你需要傳遞給VM:-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only =假

https://forums.oracle.com/thread/1177644

+0

如果JConsole的遠程主機上運行,​​它是一個防火牆的問題。 –

+0

我有端口在服務器端打開有什麼我需要做我的本地機器? –

+0

如果你可以在vnc中運行jconsole,它需要連接到本地主機。如果它不能這樣做(並且程序公開了JMX端口),則操作系統防火牆將被阻止。 –

回答

1

這似乎並不像一個VNC問題 - 端口沒有打開,它們被阻止在防火牆中,或者與應用本身有關於監視它的某種類型的權限/身份驗證問題。

爲了消除VNC的原因(並在JConsole的本地連接使用localhost),做「SSH -X REMOTHOST -n JConsole的」,並見。這也將消除運行完整的X服務器和VNC的開銷。

也可以在Linux,你可以找出哪些進程佔用做開放的端口:netstat的 -ap |要運行的遠程主機上的grep PORT_NUMBER。

科林

+0

修復發現在這裏:您需要傳遞給虛擬機:-Dcom.sun.management。jmxremote -Dcom.sun.management.jmxremote.local.only = false https://forums.oracle.com/thread/1177644 –