目前我通过 ServletContextListerner 启动一些线程,例如调度程序和 socketserver,例如 mina。但是此后tomcat无法正确关闭。我应该怎么做释放套接字或杀死线程。
public class ServerListener implements ServletContextListener{
public void contextDestroyed(ServletContextEvent arg0){
//what should i do here
}
public void contextInitialized(ServletContextEvent arg0){
new Thread(new Runnable(){
public void run(){
SocketMain.main(null);
}
}).start();
new Thread(new Runnable(){
public void run(){
SccheduleMain.main(null);
}
}).start();
}
}
最佳答案
首先使用thread.setDaemon(true)
告诉JVM 将线程设为守护线程。那么它将不会阻止 Tomcat 关闭。
关于java - 当我有套接字和线程时如何彻底停止tomcat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5799125/