jeecg Error was Port already in use: 40001解决办法

来源:互联网 发布:如何注册淘宝客 编辑:程序博客网 时间:2024/06/05 15:07

在实际项目开发中会用到很多优秀的项目,比如jeecg,就是一款优秀开源的RBAC模型的项目。

能够有效的提供开发效率,为小项目提供敏捷开发的一种方式。


jeecg部署到centos环境 ,并部署到tomcat中遇到问题。

重启tomcat时报Error was Port already in use: 40001 错误。


原因:jeecg使用的本地缓存ehcache技术并占用40001端口,可以从ehcache.xml 文件中看到


解决办法:查找40001端口占用的进程号,然后kill掉

一般使用 lsof -i:40001 

然后 kill -9 进程号


然后我就写了一个命令,一条命令解决。

[plain] view plain copy
  1. kill -9 `lsof -i:40001 |awk 'NR==2{print $2}'`  

可以把这条命令放入 tomcat  startup.sh 或者 shutdown.sh中

或者单独搞一个脚本restartTome.sh

[plain] view plain copy
  1. #!/bin/bash  
  2.   
  3. set -m  
  4.   
  5.   
  6. echo > /usr/local/apache-tomcat-7.0.62/logs/catalina.out  
  7.   
  8. /usr/local/apache-tomcat-7.0.62/bin/shutdown.sh  
  9.   
  10. kill -9 `lsof -i:40001 |awk 'NR==2{print $2}'`  
  11.   
  12. /usr/local/apache-tomcat-7.0.62/bin/startup.sh  
  13.   
  14.   
  15. tail -f /usr/local/apache-tomcat-7.0.62/logs/catalina.out  

这里要注意的是 set -m 这个关键的地方一定要添加。不信你就别加。-。-
原创粉丝点击