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的设置。我的问题是:

  • RMI实际上仍然启用吗?我可以使用telnet连接到端口
  • 如果不是,为什么Java仍然在端口上侦听

  • 编辑:我使用netcat:
    nc-l 1099
    阻止了端口。这在应用程序启动时提示了一个错误,结果是我在应用程序中有一个MBean,它在启动时被Spring自动拾取并注册。

    以下是跟踪问题的步骤:

  • 停止你的申请
  • 运行另一个在端口1099上侦听的应用程序
  • 重新启动应用程序
  • java.net.BindException:已在使用的地址
    异常由尝试侦听端口1099的类引发

  • 你可以根据线索来解决这个问题。

    你是否试图将你的IP/端口置于黑洞中,以确保RMI是罪魁祸首?PID低于8778?也许您可以停止应用程序,运行另一个在端口1099上侦听的应用程序。然后再次启动应用程序。已在使用的
    地址
    错误应显示在日志文件中,并指示在端口1099上侦听的类。可能是Tomcat本身打开了端口吗?JMX端口通常为管理目的而打开。我看到了可以在特定端口上注册JMX bean的代码。如果我没有记错的话,1099端口也可以用于JNDI服务。@beckyang:你赢了,你的方法帮我很快发现了问题。将其作为答案发布,以便我可以分配赏金;-)