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 : 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);
      }
 
  }
Merci d'avance.