解决tomcat启动Socket监听端口死循环被hold问题
2011-12-15 11:48
337 查看
1.SOCKET监听置于servlet的init方法中,在web.xml里加入<load-on-startup>1<load-on-startup>,随TOMCAT启动而启动.
2.在实际过程中却遇到了TOMCAT不能启动的问题,Sokcet 监听while(true)的循环hold住了tomcat的启动!
3.开始想到使用Thread的yeild方法,未果。(也许是没能正确引用。sleep是肯定不行的,线程依然在hold着。)
4.上厕所回来又在网上一通好找,最后找到一个方法,Socket继承Thread,启动方法放到run,里,然后在线程使用时,设置为守护线程。实现目的是tomcat启动完成后还是能够一直运行:
转载例子:
2.在实际过程中却遇到了TOMCAT不能启动的问题,Sokcet 监听while(true)的循环hold住了tomcat的启动!
3.开始想到使用Thread的yeild方法,未果。(也许是没能正确引用。sleep是肯定不行的,线程依然在hold着。)
4.上厕所回来又在网上一通好找,最后找到一个方法,Socket继承Thread,启动方法放到run,里,然后在线程使用时,设置为守护线程。实现目的是tomcat启动完成后还是能够一直运行:
转载例子:
StartThread.java import java.io.IOException; public class StartThread extends Thread { public void run() { try { Server server = new Server(); server.service();//启动开启服务,监听 } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } StartServer.java import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; public class StartServer extends HttpServlet { public void init() throws ServletException { Thread s = new StartThread(); s.setDaemon(true);// 设置线程为后台线程,tomcat不会被hold,启动后依然一直监听。 s.start(); } }
相关文章推荐
- 解决tomcat启动Socket监听端口死循环被hold问题
- 解决tomcat启动Socket监听端口死循环被hold问题
- 解决tomcat启动Socket监听端口死循环被hold问题
- 解决tomcat启动被某个servlet里执行方法死循环tomcat被hold的问题
- 利用命令行解决Tomcat启动时8080端口被占用的问题
- 解决Myeclipse中端口占用,导致tomcat无法启动的问题。(Linux)
- 解决Myeclipse中端口占用,导致tomcat无法启动的问题。(Linux)
- 解决Myeclipse中端口占用,导致tomcat无法启动的问题。(Linux)
- Linux下tomcat作为守护进程运行(开机启动、以指定的用户运行、解决非root身份不能绑定1024以下端口的问题)的配置方法
- tomcat启动时,不带项目名,启动两次或者造成端口冲突问题解决
- Tomcat端口好修改(解决两台同时启动报错的问题)
- 解决tomcat启动时端口被占用的问题
- Tomcat服务器无法启动socket监听端口
- Tomcat(8080、8009、8005端口占用)无法启动问题解决
- Mac端口转发解决eclipse/idea/tomcat不能启动80端口的问题
- 解决tomcat启动,端口被占用问题
- tomcat 启动失败 严重: Socket accept failed 问题解决
- 解决tomcat启动时8080端口被占用问题
- 解决tomcat不能启动的问题(8005端口被占用)
- 解决Tomcat端口被占用的问题(java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind)