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:
Merci d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); } }
Partager