2017-05-26 99 views
2

当我执行netstat -tupan,其中一个条目是:RMI禁用Java的仍然侦听端口1099

tcp  0  0 :::1099 :::*   LISTEN  8778/java 

不过,我已删除从传递到Java时的选项关于RMI和JMX所有设置开始。我的问题是:

  1. RMI实际上仍然启用?我可以使用telnet连接到端口。
  2. 如果没有,为什么Java仍然监听端口?

编辑:nc -l 1099我使用netcat的被阻塞的端口。这在应用程序启动时提示了一个错误,事实证明,我在应用程序中有一个MBean,它在启动时被Spring自动提取并注册。

+0

您是否尝试将IP /端口置于黑洞中,以确保RMI是罪魁祸首 –

+0

8778 PID下的内容? https://stackoverflow.com/questions/821837/how-to-get-the-command-line-args-passed-to-a-running-process-on-unix-linux-syste – jannis

+0

@jannis:这是我的Java在Tomcat中运行的应用程序。 – JohnEye

回答

1

这里是追踪问题的步骤:

  1. 停止你的应用程序
  2. 运行的监听的端口1099
  3. 启动应用程序再次
  4. java.net.BindException: Address already in use异常由类抛出的另一个应用程序试图在端口1099上收听。

你可以在这个问题上工作基于线索。