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 ] Pool de connexion - pb autoReconnect


Sujet :

Tomcat et TomEE Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 58
    Par défaut [ Tomcat ] Pool de connexion - pb autoReconnect
    Bon le probleme est simple avant j'utilisais un Driver Manager pour me connecter à ma base MySQL et donc au bout de 8 heures la connexion se fermait (timeout du Driver Manager).
    Donc j'ai mis en place un pool de connexion (dbcp) que j'ai configuré à partir de l'interface Admin Tool de Tomcat :
    Mais le problème continu à moitié :-) ...
    En fait après 8 heures de connexion l' AutoReconnect se fait mais pas du premier coup il faut que je lance l'application 2/3 fois pour que l'autoReconnect passe, avant ca il me claque une exception(la meme que lorsque j'utilisais le Driver Manager).Et donc allez expliquer aux utilisateurs qu'il faut lancer l'appli 2/3 fois avant pour qu'elle fonctionne...


    JNDI Name: jdbc/GST
    Data Source URL: jdbc:mysql://localhost:3306/db_support?autoReconnect=true
    JDBC Driver Class: org.gjt.mm.mysql.Driver
    User Name: root
    Password: ****


    server.xml : (je fais pointer le contexte(SGST-0.2) sur le DataSource créé)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <Context path="/SGST-0.2" reloadable="true">
    <ResourceLink global="jdbc/GST" name="jdbc/GST" type="javax.sql.DataSource" />
    </Context></Host>

    methode init() :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
          public void init() throws ServletException{
             try {
                //récupération de la source de donnée
                Context initCtx = new InitialContext();
                ds = (DataSource) initCtx.lookup("java:comp/env/jdbc/GST");
             } catch (Exception e) {
                throw new RuntimeGSTException(
                      "ERREUR - chargement data source. \n" + e);
             }
     
             try {
                con = ds.getConnection();
                conDotproject = ds.getConnection();
                init = true;
             } catch (SQLException e) {
                throw new RuntimeGSTException(
                      "ERREUR - recuperation connexion. \n" + e);
             }
          }
    Exception :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
    exception
     
    servletGST.domaine.RuntimeGSTException: java.sql.SQLException: Communication link failure: java.net.SocketException, underlying cause: Software caused connection abort: recv failed
     
    ** BEGIN NESTED EXCEPTION **
     
    java.net.SocketException
    MESSAGE: Software caused connection abort: recv failed
     
    STACKTRACE:
     
    java.net.SocketException: Software caused connection abort: recv failed
       at java.net.SocketInputStream.socketRead0(Native Method)
       at java.net.SocketInputStream.read(Unknown Source)
       at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1392)
       at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:1539)
       at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1930)
       at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1168)
       at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1279)
       at com.mysql.jdbc.MysqlIO.sqlQuery(MysqlIO.java:1225)
       at com.mysql.jdbc.Connection.execSQL(Connection.java:2278)
       at com.mysql.jdbc.Connection.execSQL(Connection.java:2225)
       at com.mysql.jdbc.Statement.executeQuery(Statement.java:1163)
       at org.apache.tomcat.dbcp.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:205)
       at servletGST.mapping.PersistanceManagerDB.findCompanyById(PersistanceManagerDB.java:577)
       at servletGST.mapping.PersistanceManagerDB.makeUtilisateur(PersistanceManagerDB.java:1438)
       at servletGST.mapping.PersistanceManagerDB.findUtilisateurByLogin(PersistanceManagerDB.java:1160)
       at servletGST.web.ServletGST.doPost(ServletGST.java:68)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
       at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
       at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
       at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
       at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
       at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
       at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
       at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868)
       at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:663)
       at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
       at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
       at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
       at java.lang.Thread.run(Unknown Source)
     
     
    ** END NESTED EXCEPTION **
     
     
       servletGST.mapping.PersistanceManagerDB.findCompanyById(PersistanceManagerDB.java:585)
       servletGST.mapping.PersistanceManagerDB.makeUtilisateur(PersistanceManagerDB.java:1438)
       servletGST.mapping.PersistanceManagerDB.findUtilisateurByLogin(PersistanceManagerDB.java:1160)
       servletGST.web.ServletGST.doPost(ServletGST.java:68)
       javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
       javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

  2. #2
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 58
    Par défaut
    Personne n'a sa petite idée ??

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 274
    Par défaut
    Bonjour,

    il semblerai que le paramètre autoReconnect ne soit pas pris en compte pourtant ta configuration me parait correcte.

    Tu peux essayer un autre pool de connexion que DBCP.
    MySQL en fourni un avec son driver (Cf. http://www.russellbeattie.com/notebook/1006529.html).


    PS : c'est mySQL qui est configuré par défaut pour couper les connexions inactives au bout de huit heures

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

Discussions similaires

  1. [Struts 1 / Oracle 11g / Tomcat] Pool de connexion
    Par ndeyekhar dans le forum Tomcat et TomEE
    Réponses: 10
    Dernier message: 15/04/2015, 18h16
  2. Réponses: 8
    Dernier message: 29/04/2011, 12h02
  3. [Tomcat] Pool de connexion
    Par pataluc dans le forum Tomcat et TomEE
    Réponses: 5
    Dernier message: 05/04/2005, 16h14
  4. [TOMCAT] pool de connexion postgres
    Par kitov dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 04/06/2004, 16h13
  5. [tomcat 4.1] [oracle] Pool de connexion
    Par Franco dans le forum Tomcat et TomEE
    Réponses: 6
    Dernier message: 23/09/2003, 00h42

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