第一步:编写定时管理
import java.util.Timer;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class TaskManager implements ServletContextListener {
/**
* 半小时的毫秒数
*/
public static final long PERIOD_HALFHOUR = 1000 * 60 * 30;
/**
* 无延迟
*/
public static final long NO_DELAY = 0;
/**
* 定时器
*/
private Timer timer;
/**
* 在Web应用启动时初始化任务
*/
public void contextInitialized(ServletContextEvent event) {
//定义定时器
timer = new Timer("定时缓存",true);
//启动备份任务,每月(4个星期)执行一次
timer.schedule(new CashTask(), NO_DELAY, PERIOD_HALFHOUR);
}
/**
* 在Web应用结束时停止任务
*/
public void contextDestroyed(ServletContextEvent event) {
timer.cancel(); // 定时器销毁
}
}
第二步:要定时执行的任务
import java.util.Date;
import java.util.TimerTask;
public class CashTask extends TimerTask {
@Override
public void run() {
// TODO 自动生成的方法存根
System.out.println("timetask run---" + new Date());
}
}
第三步
在web.xml中配置监听
<listener>
<listener-class>com.inspur.timetask.TaskManager</listener-class>
</listener>