问题:通过jconsloe:javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:281)登录TomcatJMX服务

问题:通过jconsloe:javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:281)登录TomcatJMX服务,tomcat,jmx,jconsole,rhel,Tomcat,Jmx,Jconsole,Rhel,我们在RHEL 5和Oracle JDK 1.6_24上运行Tomcat 6,我在通过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=

我们在RHEL 5和Oracle JDK 1.6_24上运行Tomcat 6,我在通过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 | greptomcat”的输出(我还看到使用netstat时9888端口监听):

然后,当尝试通过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进程的任何内容

谢谢大家

  • 达斯汀·切斯特曼

我在服务器上配置iptables时遇到了这种错误。它阻止了这些端口上的传入流量。在我的设置中,Tomcat总是打开2个随机JMX端口

我将尝试查找我的配置文件


k-deux

此链接将有所帮助,您必须指定两个端口。此方法是指定两个端口的方法。


我已经让jconsole在不使用任何身份验证但不使用身份验证的情况下进行连接。有人用这个吗?

我也有同样的问题。 最后的修复是从my/etc/hosts文件的127.0.0.1行中删除主机名。 这导致JMX在创建数据连接时绑定到localhost

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)