Salut,
Comment faire en java pour effectuer une action toutes les n secondes (Comme un service windows) ?
Mon application est basé sur tomcat et j'aimerais lancer une procedure dans un intervalle de temps.
Merci
![]()
Salut,
Comment faire en java pour effectuer une action toutes les n secondes (Comme un service windows) ?
Mon application est basé sur tomcat et j'aimerais lancer une procedure dans un intervalle de temps.
Merci
![]()
tu peux aller voir du coté de:
java.util.Timer
ou java.util.concurrent.ScheduledThreadPoolExecutor
Bonjour, il faut utiliser un Timer et une TimerTask :
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 public class Updater extends Timer{ public static int UPDATE_PERIODE = 1000; // en millisecondes public Updater() { super("Updater"); } public void start() { schedule(new Updater (), 0, UPDATE_PERIODE); } private class UpdaterTask extends TimerTask { public void run() { System.out.println("execution ici"); } } }
Ce code fonctionnera meme dans un servlet ?
Oui, qu'est-ce qui pourrait te faire penser le contraire?
L'habitude de developper en C# sur IIS![]()
note qu'on recommande de ne pas creer de thread au sein d'une servlet.
Non, pas vraiment. Ou plutôt pas vraiment plus facile si on veut coder ça correctement : la gestion manuelle des threads en Java n'est vraiment pas aussi simple que ça en a l'air. Pour t'en convaincre, essaies de lire les technotes du javadoc de l'API java, la section à propos de la programmation concurrentielle ou on explique pourquoi on a deprécié Thread.stop par exemple
Donc, tout ce qui peut automatiser/abstraire celà est plus que le bienvenu.
Sinon, si on voulait vraiment sortir le grand jeu, on pourrait utiliser le système de scheduling Quartz![]()
Partager