2017-05-03 62 views
0

我正在嘗試查看Play應用程序的線程管理。需要使用JVisualVm來查看正在運行的線程。基本上,應該啓用JMX端口來查看Play應用程序。我正在使用Play 2.5與Activator。使用acivator運行命令來運行像下面的build.sbt文件的應用程序和配置的Java參數數量,Play Framework(2.5) - JMX端口啓用在JVisualVM中查看

javaOptions += "-Dcom.sun.management.jmxremote" 
javaOptions += "-Dcom.sun.management.jmxremote.port=5678" 
javaOptions += "-Dcom.sun.management.jmxremote.local.only=false " 
javaOptions += "-Dcom.sun.management.jmxremote.ssl=false" 
javaOptions += "-Dcom.sun.management.jmxremote.authenticate=false" 
javaOptions += "-Djava.rmi.server.hostname=192.11.1.18" 

但沒有上述配置工作。任何人都可以幫助我嗎?

+0

JVisualVM在嘗試連接時告訴您什麼? – Serg

回答

0

JMX客戶端無法連接到服務器的原因可能是防火牆拒絕連接到默認隨機分配的com.sun.management.jmxremote.rmi.port,因此您可以將其明確設置爲與com.sun.management.jmxremote.port相同的值以方便使用。

另一個原因可能是由於java.rmi.server.hostname的值錯誤,它必須與您用於使用瀏覽器訪問應用程序的IP地址相同。

所以,你的配置可能是這樣的:

javaOptions += "-Dcom.sun.management.jmxremote" 
javaOptions += "-Dcom.sun.management.jmxremote.port=5678" 
javaOptions += "-Dcom.sun.management.jmxremote.rmi.port=5678" 
javaOptions += "-Dcom.sun.management.jmxremote.local.only=false " 
javaOptions += "-Dcom.sun.management.jmxremote.ssl=false" 
javaOptions += "-Dcom.sun.management.jmxremote.authenticate=false" 
javaOptions += "-Djava.rmi.server.hostname=192.11.1.18" // make sure it's your app's web address 

如果沒有什麼幫助,請參閱VisualVM Troubleshooting Guide

還要檢查以下資源獲取上的類似問題的詳細信息(他們即將泊塢窗,但它本質上是一樣的連接到遠程主機使用JMC):

相關問題