在web项目中,要做一个定时任务,首先需要了解清楚定时任务的执行流程,定时任务说白了就是设置一个时间点,然后到达这个时间点的时候自动执行任务。
1、设置定时器
public class TimerManager{
// 时间间隔
private static final long PERIOD = 24 * 60 * 60 * 1000; // 1天
public void timerWork(){
Calendar calendar = Calendar.getInstance();
/*** 定制每天凌晨1点钟执行时间 ***/
calendar.set(Calendar.HOUR_OF_DAY,1);
calendar.set(Calendar.MINUIE,0);
calendar.set(Calendar.SECOND,0);
// 如果第一次执行定时任务的时间比当前的时间小,则需要在第一次执行定时任务的时间加多1天
// 如果不加1天,任务就会立即执行
if(date.before(new Date())){
date = this.increaseDay(date,1);
}
// 定时器
Timer timer = new Timer();
// 任务
TestTimeTask task = new testTimeTask;
// 指定任务在指定时间开始进行重复固定执行
timer.schedule(task,date,PERIOD);
}
// 增加天数
private Date increaseDay(){
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(calendar.DAY_OF_MONTH,num);
re