java.net.BindException:RMI端口已在使用错误

时间:2015-06-22 14:34:48

标签: java tomcat

我有一个在Tomcat上运行的Web应用程序,每周维护后它突然停止工作。查看日志,我收到以下错误:

2015-06-22 10:10:03,351 [RMIStartThread] ERROR com.corda.ccutil - Found an  existing RMI
registry on 10.0.5.143 with port: 2021
java.net.BindException: RMI port already in use
    at com.corda.ccutil.te.a(te.java:43)
    at com.corda.cvserver.kb.run(kb.java:50)
    at java.lang.Thread.run(Unknown Source)

正如其他一些人们遇到此问题(Getting Port already in use: 6969; nested exception on tomcat while start up?)的博客所示,我查看了使用netstat -anob命令使用端口2021的内容。这是输出:

enter image description here

使用任务列表然后找到PID 2700的过程,我得到输出:

enter image description here

如果它的tomcat使用端口2021,为什么会出现问题呢?我尝试重新启动服务器,停止并启动tomcat和Web应用程序。该应用程序似乎在本地工作正常,但不会在任何其他远程位置打开。

有没有人对可能出错的地方有任何想法?

谢谢!

1 个答案:

答案 0 :(得分:1)

可能是因为你的tomcat在没有释放使用过的端口和资源的情况下突然停了下来。 例如,如果您在IDE中运行Tomcat(如eclipse),然后关闭Eclipse而不关闭服务器,那么您可以面对这种情况,这样服务器使用的资源就不会被释放。

只需终止使用端口的进程,然后重新启动服务器即可正常工作。