周期执行任务:
Timer timer = new Timer();
if(strategy.equals(STRATEGE_REPEAT)) {
Class<?> clz = Class.forName(task);
TimerTask ctr = (TimerTask)clz.newInstance();
timer.schedule(ctr, 0, freq*1000);
}
每日定时执行任务
public final static long PERIOD_DAY = 24 * 60 * 60 * 1000;
Date firstTime = null;
Calendar calendar = Calendar.getInstance();
// hour:min:sec
Scanner scanner = new Scanner("09:01:01");
scanner.useDelimiter(":");
int hour = scanner.nextInt();
int minute = scanner.nextInt();
int second = scanner.nextInt();
// firstTime (today)
calendar.set(Calendar.HOUR_OF_DAY, hour);
calendar.set(Calendar.MINUTE, minute);
calendar.set(Calendar.SECOND, second);
firstTime = calendar.getTime();
Timer timer = new Timer();
if(strategy.equals(STRATEGE_DAILY)){
Class<?> clz = Class.forName(Global.TASK_PACKAGE_PREFIX + task);
TimerTask ctr = (TimerTask)clz.newInstance();
timer.schedule(ctr, firstTime, Global.PERIOD_DAY);
}