我有一个在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的内容。这是输出:
使用任务列表然后找到PID 2700的过程,我得到输出:
如果它的tomcat使用端口2021,为什么会出现问题呢?我尝试重新启动服务器,停止并启动tomcat和Web应用程序。该应用程序似乎在本地工作正常,但不会在任何其他远程位置打开。
有没有人对可能出错的地方有任何想法?
谢谢!
答案 0 :(得分:1)
可能是因为你的tomcat在没有释放使用过的端口和资源的情况下突然停了下来。 例如,如果您在IDE中运行Tomcat(如eclipse),然后关闭Eclipse而不关闭服务器,那么您可以面对这种情况,这样服务器使用的资源就不会被释放。
只需终止使用端口的进程,然后重新启动服务器即可正常工作。