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 5.5 est-il sadique ?


Sujet :

Tomcat et TomEE Java

  1. #1
    Membre très actif
    Profil pro
    aucune
    Inscrit en
    Juillet 2007
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Juillet 2007
    Messages : 134
    Par défaut Tomcat 5.5 est-il sadique ?
    Bonjour à tous,

    Tomcat me rend fou, je vais finir par hair J2EE rien qu'à cause de lui

    des fois quand ça lui prend : mon appli web se fige mais pas entièrement !!!

    des servlets deviennent inaccessible et d'autres fonctionnent du tonnerre sauf lorsque je tente un accès à l'interface manager. A ce moment tout se fige et dès que j'annule la requête vers l'appli manager, je me retrouve dans le cas précèdent, à savoir des servlets un coup oui un coup non.!!!

    C'est dingue non ?

    mais moi je ris de moins en moins car c'est pour le boulot et pas la fac...

    merci pour toute aide...

  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
    Pas tomcat mais ton appli qui est en cause...

    Y a plein de raisons possible dues à des bug d'une webapp qui tourne:

    1) un de tes servlet tourne dans une boucle infinie, et comme les requetes s'y perdent comme dans un trou noir, çà consomme le nombre maximum de Thread Http et plus rien n'est accessible

    2) même chose qu'au dessus, mais tu consomme ton connection pool vers une db, donc tant que personne ne lache une connection, les autre requetes qui attendent une connection restent en attente...

    3) T'as des blocs synchronized et, soit une requete ne sort plus du block synchronized et empêche toutes les autres d'y rentrer, soit deux requete ont chacune une bloc différent et demandent ensuite le bloc de l'autre (deadlock).

    Le plus simple pour savoir ce qui se passe, c'est, lors du blocage, de demander ThreadDump de la jvm. Ca va te lister tous les thread (y compris ceux des requetes) et te dire ou chaque Thread se trouve à ce moment là. Sous unix, pour obtenir le threadDump, c'est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    kill -3 <pid de tomcat>
    Ca apparait alors dans catalina.out

    Sous windows, je crois que c'est ctrl-z dans la console tomcat, mais je suis pas sur.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 60
    Par défaut
    merci pour ta réponse, je vais essayer ça...
    apparement je viens de localiser les servlets où ce blocage se produit souvent donc je ne suis pas très loin de trouver la solution. Pour ce qui est du Pool de connexions j'ai effectivement oublié certain finally{con.close();} le problème c'est que j'ai des centaines d'endroits où l'appli accède à la base; Même avec la config de tomcat "logAbandonned" j'ai pas toujours le log...

  4. #4
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 53
    Par défaut
    aussi si tu supprime des application a la main dans le repertoire webapps de tomcat peut causer la meme probleme il faut toujour undeploiyer

  5. #5
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Avant d'incriminer Tomcat, es-tu sûr de tes servlets ? Tu n'as pas mis un synchronized de trop ou au mauvais endroit ?
    J'utilise Tomcat depuis des années et je n'ai jamais eu le moindre problème...

    Peux-tu montrer un bout de servlet ?

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 60
    Par défaut
    Avant d'incriminer Tomcat, es-tu sûr de tes servlets ?
    Sûr ou pas sûr, telle est la question

    Non je ne suis pas sûr puisque je reprends un existant, c'est pô vraiment mes servlets mais là je viens de faire une découverte intéressante...

    quand une servlet se freeze, je vais dans la fenêtre shell dans laquelle j'ai lancer tomcat et j'appuie sur "echap" et le miracle se produit, tout devient accessible ...du coup je soupçonne un deadlock lié aux sorties écrans ou quelque chose dans le genre.

    Si vous avez une idée sur la "manière élégante" pour vérifier mes soupçons

    merci les gars pour vos réponses

  7. #7
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Mais que fait la servlet, elle fait un truc sur System.out ou elle essaye de lire un flux, il faut plus d'infos...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 60
    Par défaut
    oui, pas mal de system.out et aussi écriture sur request.getWriter().

    en plus d'accès à la base...en bref c'est degueux comme façon de coder, mais j'y peut rien...c'est de l'existant et je doit faire avec.

  9. #9
    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
    Citation Envoyé par phpmad Voir le message

    Si vous avez une idée sur la "manière élégante" pour vérifier mes soupçons

    merci les gars pour vos réponses
    ThreadDump, tu verra où tout le monde attends! (en unix, s'obtiens avec un kill-3, sous windows : ctrl-break dans la console (tu va peut être devoir vérifier avant que la console a un historique de défilement suffisant, un threaddump après un tel blocage pouvant occupé plusieurs centaines de lignes!)

Discussions similaires

  1. Vérifier si le serveur tomcat fonctionne ou est down
    Par SEIYA. dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 24/02/2015, 08h39
  2. C'est quoi la difference entre Tomcat et Apache?
    Par jlassira dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 10/08/2006, 10h46
  3. Tomcat embarqué sur CD, c'est posssible ?
    Par Braz dans le forum Tomcat et TomEE
    Réponses: 5
    Dernier message: 01/03/2006, 21h28
  4. [TOMCAT]Est ce que tomcat compile à chaque demarage les jsp
    Par miloud dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 06/06/2005, 13h32
  5. [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