1

RHEL5およびOracleJDK1.6_24でTomcat6を実行していますが、jconsoleを介してリモートでjmxサービスにログインする際に問題が発生します。

これが私の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'(netstatを使用しているときに9888ポートがリッスンしていることもわかります):

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)

これをデバッグするためのアイデアが不足していて、答えが見つからないようです。何か考えやアイデアはありますか?

2番目の問題として、Tomcatをシャットダウンしてもjmxプロセスが停止せず、Tomcatはまだ9888をリッスンしているため、再起動できません。シャットダウン中にJMXプロセスを停止するために何かを指定する必要がありますか?

皆さんありがとう

  • ダスティンチェスターマン
4

3 に答える 3

2

私はちょうど同じ問題を抱えていました。修正は、/etc/hosts ファイルの 127.0.0.1 行からホスト名を削除することになりました。これにより、データ接続の作成時に JMX が localhost にバインドされていました。

于 2011-05-17T14:50:47.830 に答える
1

このリンクが役に立ちます。両方のポートを指定する必要があります。この方法は、両方のポートを指定する方法です。 http://gabenell.blogspot.com/2010/04/connecting-to-jmx-on-tomcat-6-through.html

認証を使用せずにjconsoleを接続しましたが、認証は使用しませんでした。誰かがこれを機能させましたか?

于 2011-02-22T23:58:46.927 に答える
0

サーバーでiptablesを構成したときに、この種のエラーが発生しました。これらのポートで着信トラフィックがブロックされました。私のセットアップでは、Tomcat は常に 2 つのランダムな JMX ポートを開きました。

設定ファイルを探してみます。

k-deux

于 2011-02-22T20:30:29.663 に答える