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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager