【发布时间】:2013-02-08 21:02:34
【问题描述】:
我需要在特定时间自动向我的客户发送报告,例如
- 每天上午 00:01
- 每周日上午 00:01
- 每个月的第一天
- 每年的第一天
我每天都在这样做:
public void contextInitialized(ServletContextEvent arg0) {
System.out.println("context initiallized");
System.out.println("Starting timer");
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 1);
calendar.set(Calendar.SECOND, 0);
Date alarmTime = calendar.getTime();
_timer = new Timer();
_timer.schedule(new AlarmTask(), alarmTime);
}
这是我执行日常任务的课程:
public class AlarmTask extends TimerTask {
public void run() {
// Do your work here; it's 00:01 AM!
}
}
当我在凌晨 00:01 之后的任何时间启动 tomcat 时,它似乎工作正常第二天进行...
他们对我的代码有什么问题吗?
【问题讨论】: