Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 启用jmx远程连接后无法重新启动tomcat_Java_Tomcat_Jmx - Fatal编程技术网

Java 启用jmx远程连接后无法重新启动tomcat

Java 启用jmx远程连接后无法重新启动tomcat,java,tomcat,jmx,Java,Tomcat,Jmx,我想远程监控我的应用程序在tomcat中运行,所以我在setenv.sh文件中配置了JMX远程连接 以下是我的配置 CATALINA_OPTS=" -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=<jmx_port> -Dcom.sun.management.jmxremote.rmi.port=<jmx_port> -Dcom.sun.management.jmxremote.s

我想远程监控我的应用程序在tomcat中运行,所以我在setenv.sh文件中配置了JMX远程连接

以下是我的配置

CATALINA_OPTS="
-Dcom.sun.management.jmxremote 
-Dcom.sun.management.jmxremote.port=<jmx_port> 
-Dcom.sun.management.jmxremote.rmi.port=<jmx_port> 
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.authenticate=false 
-Djava.rmi.server.hostname=<my_host_ip>".
CATALINA_OPTS=”
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=
-Dcom.sun.management.jmxremote.rmi.port=
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=“。
注意:这仅用于测试。我不介意在配置中禁用ssl和authenticate=false。

我可以使用本地机器上运行的visualmv连接到它。当我试图重新启动tomcat时,问题就出现了。关闭进程时,tomcat成功关闭,但运行jmx的端口仍然处于活动状态,jmx可以使用该端口。因此,在tomcat启动时,它抱怨已经在使用,因此tomcat启动失败


非常感谢您的帮助。

您是否对jmxremote.port和jmxremote.rmi.port使用相同的端口?如果是这样的话,它们需要有所不同。一个是服务监听器,另一个是rmi注册表。

看看@weizenkeimhugo,我已经看过同一篇文章了。已接受答案中给出的链接已断开。此外,大多数答案建议使用CATALINE_选项而不是JAVA_选项,我已经在使用CATALINA_选项了。我知道如果我使用JAVA_OPTS,那么tomcat关闭时会出现问题。但是我在启动时遇到了问题。是的,我对这两个端口使用相同的端口号。实际上,我不想向外界公开太多实例的端口。但无论如何,我会尝试一下。你不能将两个侦听器绑定到一个端口。