IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tomcat et TomEE Java Discussion :

[TOMCAT] executer classe au démarrage du serveur


Sujet :

Tomcat et TomEE Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de danyboy85
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2005
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2005
    Messages : 548
    Par défaut [TOMCAT] executer classe au démarrage du serveur
    Bonjour,

    Je suis en train de développer une appli web J2EE TomCat.

    J'aurais aimé savoir si il était possible d'executer une classe de mon application au démarrage du serveur Tomcat ?

    C'est une classe basique avec un main() qui appelle une méthode statique
    qui vide le contenu d'une table en base de données.

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Par défaut
    Une solution toute simple est de faire un servlet qui se charge de cette tâche et de le configurer avec une valeur >0 pour le paramètre <load-on-startup> de ton web.xml.

    Attention, celà permettra l'initialisation de ton servlet et non l'appel de la méthode service(). Tu devras donc coller ton code dans init().

    De plus, l'initialisation se feras à chaque relance de ton application et pas simplement de ton tomcat (sur un reload de ton application par exemple)

  3. #3
    Membre éclairé Avatar de danyboy85
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2005
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2005
    Messages : 548
    Par défaut
    J'ai bien compri le principe, le problème c'est que j'ai oublié de préciser que j'utilise le framework Struts.

    Mes servlets étendent donc la classe "Action" et je n'es pas de méthode "init()"

    Coment faire ?

  4. #4
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    Citation Envoyé par danyboy85
    J'ai bien compri le principe, le problème c'est que j'ai oublié de préciser que j'utilise le framework Struts.

    Mes servlets étendent donc la classe "Action" et je n'es pas de méthode "init()"

    Coment faire ?
    la servlet de struts est lancée automatiquement au demarrage, si tu veux créer une autre servlet qui ne derive pas de la classe Action tu fais comme dit Alwin, il faut peut etre modifier la valeur <load-on-startup> à 1, pour dire au container que la servlet doit etre charger au demarrage après la servlet ActionServlet de Struts ..
    Si tu dervie de Action, ta classe n'est pas une servlet..c'est le principe de l'encapsulation...

  5. #5
    Membre éclairé Avatar de danyboy85
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2005
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2005
    Messages : 548
    Par défaut
    Oui c'est vrai pourquoi m'obstiner à passer par Struts, je peux très bien créer une servlet qui étant HttpServlet et non Action

    Merci de votre éclaircissement !

  6. #6
    Membre éclairé Avatar de danyboy85
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2005
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2005
    Messages : 548
    Par défaut [Résolu]
    [Résolu] Ca fonctionne parfaitement. Boone jouenée

  7. #7
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut Re: [Résolu]
    Citation Envoyé par danyboy85
    [Résolu] Ca fonctionne parfaitement. Boone jouenée
    n'oublie pas


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Exécuter une classe au démarrage du serveur
    Par Treydone dans le forum Java EE
    Réponses: 4
    Dernier message: 17/11/2009, 11h31
  2. executer class main dans un serveur d'application
    Par herguem dans le forum Java EE
    Réponses: 3
    Dernier message: 24/07/2009, 08h10
  3. démarrage du serveur tomcat v4.1
    Par chazz dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 14/05/2008, 23h31
  4. [Tomcat]Executer une classe JAVA au demarrage de TOMCAT
    Par dehbi dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 18/08/2005, 14h23
  5. [tomcat] bcp de choses inutiles au démarrage du serveur
    Par iubito dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 23/06/2004, 20h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo