Timer et Timetask (heure d'exécution recule tous les jours)
Bonjour à tous!
Je commence par vous souhaiter une tres bonne fête demain!
Chose sérieuse maintenant :)
J'ai fait un petit programme qui doit s’exécuter tous les jours à une heure précise.
Le programme s’exécute bien en tache planifiée, mais l'heure d’exécution recule tous les jours. Si vous pouviez me dire s'il y a un souci dans mon algorithme ou dans la manière dont j'ai implémenté le Timer.
Voici l'architecture de celui-ci.
Classe ProcessXXXX (qui fait le traitement) etend TimeTask;
Classe ScheduleIT (qui fait implemente la tache planifiée) etend Timer, dans celle ci voici le contenu:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
{
(...)
Timer t=new Timer();
Calendar begin=Calendar.getInstance();
Calendar ev=Calendar.getInstance();
//ce teste permet de pouvoir relancer l'application
// le traitement doit demarrer tous les jours à 7h (du matin)
if(begin.HOUR!=7){
//on met la date de ev à j+1
ev.add(Calendar.DATE,1)
//on lance le traitement sur le moment present
t.schedule(new ProcessXXXX, begin);
//puis on met en attente jusqu'au jour suivant, puis lorsqu'il xecute //il attend 23h avant de se relancer
t.schedule(new ProcessXXXX,ev,82800000);
}else{
t.schedule(new ProcessXXXX, begin, 82800000);
}
} |
Merci d'avance.