-
Application JEE + Quartz
Bonjour,
je dois faire une tâche qui dure un certain nombre de secondes dans laquelle le traitement se répète toutes les x secondes.
J'ai vu des choses dans Quartz permettant de répéter un traitement toutes les x secondes mais rien me permettant de dire que si le traitement dure plus de x secondes alors on arrête.
Auriez vous une petite idée du type de trigger, thread, job (je ne sais pas trop quel classe utilisée) pour faire ce que je recherche.
Merci
-
c'est à ton job de spontanément arrêter.
-
logiquement un job X se termine tout seul lorsqu'il finira son traitement. mais si tu veux forcer le job X à s'arrêter après une durée déterminée, le plus simple est d'utiliser un autre job Y qui a pour rôle de stopper X.
il faut jouer sur les temps d'exécution de X et Y selon ton besoin,
par exemple si X doit tourner seulement 5 secondes, Y doit se lancer 5 secondes après X...
-
pour mesurer le temps qui passe, stocke l heure actuelle dans un Long via la commande 'Long start = System.currentTimeMillis() ' ensuite dans une boucle while calcule la difference entre l heure actuelle et start
long tempsPasse = System.currentTimeMillis() - start:)
-
bonjour j'ai développé un petit exemple d'utilisation de Spring et Quartz pour développer des jobs dynamiques.
j'espère que ça sera utile pour vous tous :)