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

JDBC Java Discussion :

JDBC Connection Pool mal configuré


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2010
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2010
    Messages : 37
    Par défaut JDBC Connection Pool mal configuré
    Bonjour à tous,

    J'ai surrement du zapper une étape dans la configuration du Pool de connection.
    Chaque accès à la Bdd fonctionne comme suit :
    - récupération d'une connexion
    - execution des requetes
    - fermeture du resultset, statement et conn

    Voici la méthode de récupération de conn (normalement du Poo)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public static Connection getConnection() throws SQLException{
            Connection con = null;
            try {
                Context ctx = new InitialContext();
                DataSource ds = (DataSource) ctx.lookup("jdbc/kquiere_db");
                con = ds.getConnection();
                System.out.println("Get Conn from pool : " + con.getClientInfo());
            } catch (NamingException ex) {
                Logger.getLogger(ConnectionManager.class.getName()).log(Level.SEVERE, null, ex);
            }
            return con;
        }
    Et via la console GlassFish le Pool est défini par son nom "jdbc/kquiere_db", le type de ressource "javax.sql.ConnectionPoolDataSource" et la class "com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource", le tout défini comme ressource avec un nom jndi "jbdc/kquiere_db"

    Bilan --> phpMyAdmin indique un processus créé pour chaque demande de conexion et tous reste en "sleep".. Donc après 25 requêtes le site plante car le nombre de connexion maximale pour un utilisateur à été atteint..

    Je suis perdu..

    Merci d'avance..

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    A mon avis il vaut mieux observer les fermetures de sessions.

    S'assurer qu'elles sont bien dans un finally pour garantir la libération de la ressource.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2010
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2010
    Messages : 37
    Par défaut Auto réponse :-)
    Origine du problème : le nombre de connexion min de pool a creer défini dans la console GlassFish..
    Initial and Minimum Pool Size : 8 et le fait que les pool restent en "sleep"
    de plus la variable autoReconnectForPools était à "true".

    Donc dès que je déployais l'application.. 8 processus étaient créés dès la premier lancement du site.. après quelques minutes les Pools se reconnectaient automatiquement et les anciens restaient en "sleep".. au bout de la 4eme reconnection le nombre de connection maximal autorisé par l'hébergeur était dépassé !!

    Solution adopté.. (sachant que la max_user_connections de l'hebergeur est de 25)
    Initial and Minimum Pool Size : 3
    Maximum Pool Size:20
    autoReconnectForPools :false

    ça me laisse de la marge en cas de gros traffic sur le site.. mais j'avoue ne pas etre très à l'aise encore avec tout les paramètres, donc j'espère ne pas avoir de mauvaises surprises plus tard..

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

Discussions similaires

  1. Configurer tomcat pour connection pool sybase
    Par Invité dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 22/03/2006, 20h02
  2. [JDBC][SQL Server]Connection Pooling
    Par WE dans le forum JDBC
    Réponses: 4
    Dernier message: 14/03/2006, 09h15
  3. Réponses: 2
    Dernier message: 27/04/2005, 17h56
  4. [JDBC]datasource-pool-transactionUser
    Par Wessim dans le forum JDBC
    Réponses: 1
    Dernier message: 19/03/2005, 20h56
  5. [JDBC]connection via JDBC
    Par ENIT-Info dans le forum JDBC
    Réponses: 4
    Dernier message: 18/03/2005, 17h59

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