2011-02-22 75 views
1

我們在RHEL 5和Oracle JDK 1.6_24上運行Tomcat 6,並遇到問題通過jconsole遠程登錄到jmx服務。通過jconsloe登錄Tomcat JMX服務的問題:javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:281)

這裏是我的setenv.sh:

JAVA_OPTS="-Xms512m -Xmx1152m -XX:MaxPermSize=512m" 
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9888" 
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false" 
CATALINA_OPTS="$CATALINA_OPTS -Djava.rmi.server.hostname=192.168.XX.XX" 
CATALINA_OPTS="$CATALINA_OPTS -Djava.rmi.server.logCalls=true" 

這裏是「PS -elf輸出| grep的tomcat的」(我也看到了9888端口監聽用netstat時):

0 S root  2930  1 1 85 0 - 500084 184466 20:47 ?  00:00:15 /usr/java/default/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Xms512m -Xmx1152m -XX:MaxPermSize=512m 
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -server -Dbuild.compiler.emacs=true -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9888 -Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=192.168.XX.XX -Djava.rmi.server.logCalls=true -Djava.endorsed.dirs=/usr/local/tomcat/endorsed 
-classpath /usr/local/tomcat/bin/bootstrap.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start 

然後試圖通過JConsole的連接,我運行以下命令時:

JConsole的-debug 192.168.XX.XX: 9888

它引發以下錯誤:

java.lang.NullPointerException 
at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:281) 
at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:228) 
at sun.tools.jconsole.ProxyClient.tryConnect(ProxyClient.java:334) 
at sun.tools.jconsole.ProxyClient.connect(ProxyClient.java:296) 
at sun.tools.jconsole.VMPanel$2.run(VMPanel.java:281) 

我已經江郎才盡了用於調試這一點,似乎無法找到任何答案。任何想法或想法?

作爲第二個問題,關閉tomcat並不會停止jmx進程,並且我無法重新啓動tomcat,因爲它仍然在9888上進行偵聽。是否必須指定任何內容來停止關閉期間的JMX進程?

感謝所有

  • 達斯汀徹斯特曼

回答

0

我有這樣那樣的錯誤,當我有我的服務器上配置的iptables。它阻止了這些端口上的傳入流量。在我的設置中,Tomcat總是打開2個隨機的JMX端口。

我會盡力找到我的配置文件。

K-德塞夫勒

2

我剛剛有同樣的問題。 此修復程序最終將從我的/ etc/hosts文件的127.0.0.1行中刪除主機名。 這導致JMX在創建其數據連接時綁定到本地主機。