1.新建一个监听类SocketListener,实现ServletContextListener 方法
分别在初始化和销毁方法中创建Socket线程和中断线程。
SocketThread 为线程类,用来执行具体业务。
@Component
public class SocketListener implements ServletContextListener {
private SocketThread socketThread;
@Override
public void contextInitialized(ServletContextEvent sce) {
if(socketThread==null){
socketThread=new SocketThread();
socketThread.start();
}
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
if(socketThread!=null && socketThread.isInterrupted()){
socketThread.interrupt();
}
}
//线程类
class SocketThread extends Thread{
public void run(){
while (!this.isInterrupted()){
try{
Thread.sleep(2000);
} catch (Exception e) {
logger.error(estr+e.toString());
e.printStackTrace();
}
System.out.println("以下开始执行线程业务:"+System.currentTimeMillis());
}
}
}
}
在system.out.println提示之后,可以开始执行具体的业务操作了。
2.在webapp/WEB-INF/web.xml中,添加监听并设置监听类
<listener>
<listener-class>com.ux.platform.impl.SocketListener</listener-class>
</listener>
以上设置完毕,启动程序后会看到控制台打印出线程提示。