Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.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连接到远程JBoss_Java_Jboss_Jmx_Jvisualvm - Fatal编程技术网

Java 通过防火墙后面的JMX连接到远程JBoss

Java 通过防火墙后面的JMX连接到远程JBoss,java,jboss,jmx,jvisualvm,Java,Jboss,Jmx,Jvisualvm,我已将以下属性添加到我的JBOSS EAP 6.2服务器中 JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote" JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=9999" JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false" JAVA_OPTS="$JAVA_OPTS -Dco

我已将以下属性添加到我的JBOSS EAP 6.2服务器中

   JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote"
   JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=9999"
   JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false"
   JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=false"
   JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=94.5.19.27"
并重新启动了jboss。当我尝试使用JVisualVM(94.5.19.27:9999)中的JMX字符串中的以下命令连接到实例时,我收到以下错误消息

有人知道我可能需要通过哪些其他配置吗

谢谢

编辑如果是防火墙问题-是否返回如下结果

[secondstory_dev@secondstory1d log]$ netstat -na | grep 9999
tcp6       0      0 127.0.0.1:9999          :::*                    LISTEN

让rmi在防火墙后工作有一个诀窍。rmi使用两个端口,如果不同时指定这两个端口,则无法通过防火墙工作。很好的一点是,您可以为两个端口使用相同的端口。令人恼火的是,这不是默认功能。更糟糕的是,在jdk 7之前,没有办法通过命令行配置jmx来实现这一点。假设您在jdk 7+上运行,则需要添加以下参数:

-Dcom.sun.management.jmxremote.rmi.port=9999

此处有更多详细信息。

您需要添加选项:

-Dcom.sun.management.jmxremote.local.only=false

重新启动时,当您运行“netstat”时,您可以看到该端口并非仅为localhost打开:

$netstat-na | grep 9999
tcp6 0:::9999:::*听

最后,您可以使用telnet进行验证:

telnet 94.5.19.27 9999

如果无法连接,则可能需要在linux中查看防火墙:

firewall cmd--permanent--add port=9999/tcp


我希望这对你有所帮助

你的jboss服务器在防火墙后面吗?另外,我认为这是一个输入错误,但您的第一行缺少结束报价。很抱歉,报价是一个复制粘贴错误,我的服务器在防火墙后面。可能端口没有正确打开啊,我很兴奋地想这可能是正确的答案,但我仍然收到相同的错误消息-这一定是防火墙的问题me@Biscuit128-可能存在其他防火墙问题,但这也是使其正常工作的要求。当然,它假定您的服务器在jdk 7u4或更高版本上运行。@128-这是一个linux机器,机器的“主机名”是否解析为“127.0.0.1”?主机名解析为我命名的别名-secondstory1d,是的,它是fedora 20,它是一个在我的计算机上本地运行的机器network@Biscuit128-主机名-i的输出是什么?