有时候,我们在服务器启动前或者关闭前需要清理当前程序执行的任务,释放资源等,这个时候就可以实现ServletContextListener来编写我们自己的任务,执行清理任务
/**
* 手动关闭tomcat运行时,结束所有任务
*/
@Configuration
public class ConsumerServletContextListener implements ServletContextListener {
private static final Logger log = LoggerFactory.getLogger(ConsumerServletContextListener.class);
@Autowired
private DeviceReset deviceReset;
@Override
public void contextInitialized(ServletContextEvent sce) {
log.info("contextInitialized初始化开始");
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
log.info("contextDestroyed结束开始");
deviceReset.stopTaskAndClean();
}
}