JavaWeb 在程序启动时,定时执行计划任务。利用ServletContextListener在web服务启动时,启动计划任务
1.实现ServletContextListener接口,在contextInitialized()方法里建立Timer和TimerTask;
2.在TimerTask实现类里的run方法里写业务;
3.在web.xml配置配置;
代理片段:
1.
public class DealTableTimer implements ServletContextListener {
private static Timer timer = null;
public static Timer getTimer(){
if(timer==null) {
return timer = new Timer();
}
return timer;
}
public DealTableTimer() {
super();
}
@Override
public void contextInitialized(ServletContextEvent servletContextEvent) {
if(timer == null) {
getTimer();
}
servletContextEvent.getServletContext().log("【INFO】定时器启动.");
timer.schedule(new DealTableTimerTask(),1000,5000);
}
@Override
public void contextDestroyed(ServletContextEvent servletContextEvent) {
timer.cancel();
servletContextEvent.getServletContext().log("【INFO】定时器结束.");
}
}2.
public class DealTableTimerTask extends TimerTask {
@Override
public void run() {
//.....
}
}3.web.xml
<listener>
<listener-class>com.DealTableTimer</listener-class>
</listener>
本文介绍如何在JavaWeb应用启动时设置定时任务。通过实现ServletContextListener接口并在contextInitialized方法中创建Timer与TimerTask来实现定时任务的启动。此外,还在web.xml中进行了相应的配置。
593

被折叠的 条评论
为什么被折叠?



