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 stop" n'arrête pas réellement tomcat


Sujet :

Tomcat et TomEE Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 60
    Par défaut "tomcat stop" n'arrête pas réellement tomcat
    Bonjour,

    quelquefois je n'arrive pas à arrêter le serveur tomcat en faisant

    /etc/init.d/tomcat stop

    (de mémoire cette commande me renvoie une bind exception et) en faisant un "ps -edf" je me rends compte que le process est toujours là.

    Ce problème m'est arrivé en fait plusieurs fois (mais je ne m'en rends jamais compte tout suite,malheureusement), j'ai peut être une explication : peut-être ais-je arrêté à un moment ou à un autre le serveur tomcat et je l'ai redémarré trop vite avant que le processus précédent ne soit réellement arrêté.

    Effectivement j'ai remarqué qu'après le tomcat stop le process tomcat, lui, est encore là quelques secondes ou millisecondes (ce que je trouve moyen de la part de tomcat d'ailleurs).

    Avez-vous des retours d'expériences sur ce genre de problème ?

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    alors, le stop conciste à se connecter au port de maintenance de tomcat et à lui envoyer l'instruction "stop". De là tomcat décharge toutes ses webapps une à une, et cloture tout ses thread. Ensuite, la jvm devrait s'arreter. La commande de stop, en elle meme retourn imédiatement. Le process d'arret des webapp dépend de celles-ci, et peux varier de quelques secondes à plusieurs minutes suivant la taille des webapps. Si, après çà, tomcat tourne encore, c'est souvent que la webapp a d'elle meme instancié des threads (pas bien mais on a pas toujours le choix) et ne les a pas cloturé. Un jvm ne s'arrette pas d'elle même tant que tout ses threads ne sont pas morts.

    Ce qui se passe parfios c'est qu'un tomcat se bloque (faute à la webapp) et ne réagisse dont plus au stop. Faut alors passer par kill.

  3. #3
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 60
    Par défaut
    ok merci pour cette explication.

    Pour les threads tout à fait cela ne métonne pas, on utilise un thread pool executor en interne et il y a aussi jboss cache qui a ses propres threads, du coup j'aimerais savoir qui n'arrête pas ses threads correctement. Vous rapelleriez vous quelle commande permet d'avoir un instantané des threads en cours dans la jvm ?

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    kill -3 sous unix

  5. #5
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 60
    Par défaut
    humm je pensais pas à cela, je vais essayer de me renseigner (de mémoire c'est kill -sig ou java -sig).

  6. #6
    Membre confirmé
    Profil pro
    Développeur Java
    Inscrit en
    Août 2007
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 58
    Par défaut
    Par expérience, j'ai vu qu'il fallait laisser le temps à tomcat de s'arrêter, tant qu'il est dans les processus (un petit ps -aux | grep tomcat pour regarder) il ne faut surtout pas lancer le start.

    Après y a toujours moyen de bidouiller le script /etc/init.d/tomcat, mais là ça deviens plus subtile. Sur un script de déploiement, j'ai du rajouter un sleep de près de 2mn pour le stop et le start pour éviter les problèmes.

Discussions similaires

  1. [FLASH MX2004] Clip qui ne s'arrête pas
    Par romain starck dans le forum ActionScript 1 & ActionScript 2
    Réponses: 8
    Dernier message: 10/05/2006, 19h43
  2. [tomcat] JSP modifiée ne sont pas recompilées....
    Par snoop dans le forum Eclipse Java
    Réponses: 14
    Dernier message: 02/05/2005, 08h23
  3. [Tomcat] [Eclipse] : Servlet n'est pas disponible
    Par mmed dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 13/01/2005, 11h44

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