2017-05-26 60 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上收聽。

你可以在這個問題上工作基於線索。