tomcat 未启动完整 , 被某个ervlet hold住 使得整个项目启动不了,解决办法如下:
第一步:启动一个新线程, 来操作你启动时要执行的业务代码
public class StartThread extends Thread {
public void run() {
try {
ClientSample.test();//这里写你要操作的业务
} catch (Exception e) {
e.printStackTrace();
}
}
}
第二步:为此sevrlet设置线程为后台线程,tomcat不会被hold,启动后依然一直监听
public class StartCanal extends HttpServlet {
private static final long serialVersionUID = -84770550441421929L;
public void init() throws ServletException {
Thread s = new StartThread();
s.setDaemon(true);// 设置线程为后台线程,tomcat不会被hold,启动后依然一直监听。
s.start();
}
}
第三步:注册sevrlet web.xml 里写如下