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 :

Arrêter service Tomcat et le redémarrer


Sujet :

Tomcat et TomEE Java

  1. #1
    Membre habitué
    Inscrit en
    Septembre 2008
    Messages
    261
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 261
    Points : 164
    Points
    164
    Par défaut Arrêter service Tomcat et le redémarrer
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    	@Override
    		public void run() {
     
    			log.info(" --------------- ARRET VOLONTAIRE ------------------");
    			System.exit(0);
     
    		}
    J'ai ce code qui arrête mon application, et le service tomcat comme voulu. Il s'agit d'une webapp

    Le souci est qu'au niveau du gestionnaire de services, il est pramétré pour redémarrer. Mais cela le fait pas.

    Si quelqu'un a une hypothèse ?

    Merci

  2. #2
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Bonjour, encore heureux que les services rédemarrent tous seuls , même si cela était techniquement possible,c'est une pratique à évidemment déconseiller, j'espère que ce n'est pas un réel besoin,et que vous êtes juste curieux de voir que c'est possible. Car cela doit relever de l'administration, imaginez un seul instant que votre serveur d'application heberge plus d'une web-app dans la vraie vie , ben là vous pénaliseriez toutes les autres applications par une telle manip.
    Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
    mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."

  3. #3
    Membre chevronné
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Points : 2 112
    Points
    2 112
    Par défaut
    pour arrêter et redémarrer un service tu peux le faire en ligne de commande, lancée par ton JAVA.

    Regarde la classe Process et ProcessBuilder pour se faire.

    Voici les commandes windows pour arrêter et redémarrer un service
    - pour démarrer : net start [nom_du_service]
    - pour arrêter un service : net stop [nom_du_service]

    A tester toutefois si tu peux lancer les deux dans la foulée alors que ta JVM s'arrête ... ce qui n'est pas certain.

    Comme indiqué par DevServlet, ça me parait bizarre comme besoin ;-)

    Ton "exit()" est à proscrire ... car il n'arrête pas "gentiment" le service comme tu le penses, mais il tue le process de la JVM ... bref : c'est archi violent.
    Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...

  4. #4
    Membre habitué
    Inscrit en
    Septembre 2008
    Messages
    261
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 261
    Points : 164
    Points
    164
    Par défaut
    Je me suis fait un bat que j'appelle via :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Runtime.getRuntime().exec("cmd.exe /c start C:\restart_tomcat.bat");
    Reste à l'appeler en tant qu'admin.
    Niveau contenu, ce sont tes commandes fxrobin

    Après, je laisse cela de côté parce que j'ai récupéré le comportement normal de l'appli, à savoir un redémarrage forcé avec un code retour à 0.

    Pour l'erreur, j'avais modifié le nom du context, le System.exit(0) plantait en info et non en error au niveau de l'event viewer windows.

    Du coup, je passe à côté d'une config sur le serveur, je suppose, mais ne sais pas où.

    Le besoin est réel hélas, fuite de mémoire oblige à cause de driver odbc 4d. La webapp est seule sur son tomcat. Je te rassure,
    je suis pas adepte non plus des System.exit(0)

    Un prochain topic sûrement si mes recherches ne sont pas fructueuses

  5. #5
    Membre chevronné
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Points : 2 112
    Points
    2 112
    Par défaut
    Citation Envoyé par ifsera Voir le message
    Le besoin est réel hélas, fuite de mémoire oblige à cause de driver odbc 4d. La webapp est seule sur son tomcat.
    Et une tâche planifiée de redémarrage de ton service ? Ca n'irait pas mieux ?

    C'est un peu "étrange" que ce soit ton application qui rédémarre le service qui l'héberge ... Conceptuellement parlant.
    Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...

  6. #6
    Membre habitué
    Inscrit en
    Septembre 2008
    Messages
    261
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 261
    Points : 164
    Points
    164
    Par défaut
    Exact, une tâche planifiée aurait pû faire l'affaire. C'était une de mes options hier.

    Le choix a été fait de passer par un process interne à l'appli. Bon ou mauvais, je suis reparti tout bêtement de l'existant.

    Et vu que le truc tourne comme cela depuis pas mal de temps, je crois pas que je le ferais changer, n+1 oblige

  7. #7
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Citation Envoyé par ifsera Voir le message
    Le besoin est réel hélas, fuite de mémoire oblige à cause de driver odbc 4d. La webapp est seule sur son tomcat. Je te rassure,
    je suis pas adepte non plus des System.exit(0)
    A mon avis, il faudrait chercher la cause du problème que d'évoquer une solution d'une telle violence.Il existe plusieurs outils Java pour traquer les fuites de mémoire.Mais si la solution de tuer la JVM vous parait plus simple,bon courage
    Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
    mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."

  8. #8
    Membre habitué
    Inscrit en
    Septembre 2008
    Messages
    261
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 261
    Points : 164
    Points
    164
    Par défaut
    Citation Envoyé par DevServlet Voir le message
    A mon avis, il faudrait chercher la cause du problème que d'évoquer une solution d'une telle violence.Il existe plusieurs outils Java pour traquer les fuites de mémoire.Mais si la solution de tuer la JVM vous parait plus simple,bon courage

    C'est ce sur quoi je suis déjà parti...
    Merci

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

Discussions similaires

  1. Problème de démarrage des services tomcat!
    Par mordrack dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 02/02/2010, 17h34
  2. Installer le service tomcat sous vista
    Par Mister Nono dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 21/03/2009, 12h22
  3. Web Service,Tomcat,axis,java et spring
    Par mnoussa dans le forum Services Web
    Réponses: 0
    Dernier message: 09/02/2009, 21h23
  4. Probleme de demarrage de service Tomcat 6.0
    Par melek_net dans le forum Apache
    Réponses: 1
    Dernier message: 08/11/2008, 23h08
  5. Verifier service tomcat actif
    Par etien dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 09/08/2006, 09h18

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