0

JConsole を使用してサーバーにリモート接続して、そこに登録されている MBean を監視および利用しようとしています。

サーバーに VNC で接続し、"localhost:8050" を使用して JConsole をローカルで実行できますが、IP アドレスまたはホスト名を介してリモートで接続しようとすると、NullPointerException で失敗します。

java.lang.NullPointerException

javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:281)

javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:227)

sun.tools.jconsole.ProxyClient.tryConnect(ProxyClient.java:334) で

sun.tools.jconsole.ProxyClient.connect(ProxyClient.java:296) で

sun.tools.jconsole.VMPanel$2.run(VMPanel.java:280) で

ここや他の多くの Web サイトで、他の優れた Q&A を読みました。ホストファイルを編集して、iptablesでポートを開こうとしました。ssl と認証が無効になり、local.only が無効になります。プロキシを無効にし、JMXServiceURL も試しましたが、役に立ちませんでした。

JConsole を実行してローカルに接続できるのに、リモートに接続できないのはなぜですか?

win2008 と tomcat を実行する 2 台目のサーバーもあり、完璧に動作します。

何か案は?

ありがとう!マーティン

4

1 に答える 1

1
JAVA_OPTS="-Dcom.sun.management.jmxremote \
    -Dcom.sun.management.jmxremote.port=<port no> \
    -Dcom.sun.management.jmxremote.ssl=false \
    -Dcom.sun.management.jmxremote.authenticate=false \
    -Dcom.sun.management.jmxremote.local.only=false \
    -Djava.rmi.server.hostname=<server ip>"

アプリケーション サーバーでこの設定を使用してみてください。Tomcatでうまくいきました。

于 2011-03-31T10:44:58.177 に答える