мне нужно AutoSend отчеты моих клиентов в perticular тайминги какВызов метода каждый день, каждую неделю, каждый месяц и каждый год
- каждый день в 00:01 утра
- каждую неделю в воскресенье 00 : 1 утра
- на 1-й день каждого месяца
- на 1-й день каждого года
За каждый день я делаю это:
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 AM Say в 02:30 утра в задача выполняется, как только контекст загружается, когда мне нужно, чтобы он выполнялся на следующий день ...
Есть ли у них какие-либо проблемы с моим кодом?