Bonjour,
Je souhaiterais configurer mon serveur Tomcat (V5.5) afin de lancer automatiquement une Servlet à son démarrage.
Pour cela, j'ai modifié le fichier de déploiement web.xml de la façon suivante :
De plus, j'ai placé le code à exécuter au démarrage du serveur dans la méthode public void init(ServletConfig config) de ma Servlet.
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <servlet> <servlet-name>MaServlet</servlet-name> <servlet-class>monpackage.MaServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> </web-app>
Le problème est que ma Servlet semble être instanciée 2 fois par Tomcat à son démarrage !
En effet, en observant les traces dans les logs, je m'aperçois que le constructeur et la méthode init() sont appelées deux fois .....
Le souci vient du fait que le code en question ne doit être exécuté qu'une seule fois au démarrage.
Que dois-je donc préciser dans mes fichiers de configuration (server.xml, web.xml, ...) afin de n'instancier ma Servlet qu'une seule fois ?
Merci d'avance pour vos précieuses réponses.
Partager