我正在尝试使用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)
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:280)
我已经阅读了其他优秀的q& a's以及许多其他网站。我尝试用iptables打开端口,编辑hosts文件。 ssl和身份验证被禁用,local.only被禁用。我已经禁用了代理并尝试了JMXServiceURL,但无济于事。
为什么我能够运行JConsole&在本地连接但不是远程连接?
我甚至有第二台服务器,运行win2008& tomcat,完美地播放!
有什么想法吗?
谢谢! 马丁
答案 0 :(得分: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上对我有用。