RMI已禁用,Java仍侦听端口1099
当我执行RMI已禁用,Java仍侦听端口1099,java,rmi,jmx,Java,Rmi,Jmx,当我执行netstat-tupan时,其中一个条目如下所示: tcp 0 0 :::1099 :::* LISTEN 8778/java 但是,我已经从Java启动时传递给它的选项中删除了所有关于RMI和JMX的设置。我的问题是: RMI实际上仍然启用吗?我可以使用telnet连接到端口 如果不是,为什么Java仍然在端口上侦听 编辑:我使用netcat:nc-l 1099阻止了端口。这在应用程序启动时提示了一个错误,结果是我在应用程序中有一
netstat-tupan
时,其中一个条目如下所示:
tcp 0 0 :::1099 :::* LISTEN 8778/java
但是,我已经从Java启动时传递给它的选项中删除了所有关于RMI和JMX的设置。我的问题是:
编辑:我使用netcat:
nc-l 1099
阻止了端口。这在应用程序启动时提示了一个错误,结果是我在应用程序中有一个MBean,它在启动时被Spring自动拾取并注册。以下是跟踪问题的步骤:
java.net.BindException:已在使用的地址
异常由尝试侦听端口1099的类引发你可以根据线索来解决这个问题。你是否试图将你的IP/端口置于黑洞中,以确保RMI是罪魁祸首?PID低于8778?也许您可以停止应用程序,运行另一个在端口1099上侦听的应用程序。然后再次启动应用程序。已在使用的
地址
错误应显示在日志文件中,并指示在端口1099上侦听的类。可能是Tomcat本身打开了端口吗?JMX端口通常为管理目的而打开。我看到了可以在特定端口上注册JMX bean的代码。如果我没有记错的话,1099端口也可以用于JNDI服务。@beckyang:你赢了,你的方法帮我很快发现了问题。将其作为答案发布,以便我可以分配赏金;-)