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 :

connection mysql tombe


Sujet :

JDBC Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 45
    Par défaut connection mysql tombe
    Bonjour,

    je travaille sur une appli web et j'ai un problème au niveau des connections mysql.

    J'utilise une "bean" ou je défini les fonctions de connections, d'executeQuery et executeUpdate et de fermeture.

    Ce sont les suivantes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    // variables
    private Statement stmt;
    private Connection conn;
    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
     
    public MySQLConnectionHandler(){
                    try {
                            Class.forName("org.gjt.mm.mysql.Driver").newInstance();
                    } catch (Exception e) {
                            Log.out.println("Unable to load driver.");
                    }
     
                    try {
                    conn = DriverManager.getConnection("jdbc:mysql://"+dbHost+"/"+dbName+"?user="+dbUser+"&password="+dbPasswd);
                    } catch (SQLException sqle) {
                            Log.out.println("Unable to established connection);
                            conn = null;
                    }
            }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    public void close_connect(){
    			try{
    			stmt.close();
    			}
    			catch(SQLException sqle){
    				Log.out.println("erreur fermeture connexion : "+sqle);
    			}
    		}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     public ResultSet executeQuery(String query){
                    try {
                            stmt = conn.createStatement();
                            ResultSet rs = stmt.executeQuery(query);
                            return rs;
                    } catch (SQLException sqle) {
                            Log.out.println("executeQuery: SQLException: " + sqle.getMessage());
                            return null;
                    } catch (Exception e) {
                            Log.out.println("executeQuery: Exception: " + e.getMessage());
                            return null;
                    }
            }
    mes pages sont de cette forme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <jsp:useBean id="mysql" scope="session" class="com.viti.MySQLConnectionHandler" />
     
    ResultSet marquere = mysql.executeQuery("SELECT ...")
    while(marquere!=null && marquere.next()){
    //traitement
    }
    if(marquere!=null) marquere .close()
    mysql.close_connect()
    Tout fonctionne mais le problème est que mes connections ne se ferme jamais, elle sont tjs en sleep et au bout d'un moment mysql tombe en indiquant "too many connection".

    si je decide de fermer la connection aprés chaque requete mysql ne redémarre pas :s

    Une solution pourrait etre de limiter la durée de connection mais je ne sais pas comment faire.

    Sinon si quelqu'un à une autre solution je suis à l'écoute.

    merci pour votre aide

    Mistify

  2. #2
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 237
    Par défaut
    Tu pourrais utiliser un pool de connexion.

    En ce qui concerne ton pb, si j'ai bien vu :

    Dans le code que tu nous a envoyé, après la requête, tu fermes bien l'objet ResultSet et Statement mais tu ne fermes jamis l'ojet Connection (con) donc c'est normal que tes connexions restent ouvertes.

    Un petit con.close(); me paraît s'imposer.

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

    Informations forums :
    Inscription : Mars 2006
    Messages : 45
    Par défaut
    tu avais vu juste chennuo .

    Ce problème est maintenant réglé depuis un petit moment j'avais oublié de le mettre en résolu.

    merci pour tout à bientôt

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

Discussions similaires

  1. [Debugage] Connection Mysql
    Par e1lauren dans le forum MFC
    Réponses: 6
    Dernier message: 25/04/2005, 16h18
  2. [JAR]Connection Mysql et jar executable
    Par Jones dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 01/04/2005, 14h27
  3. Nombre max de connections MySQL ?
    Par RorolePro dans le forum Requêtes
    Réponses: 2
    Dernier message: 21/11/2004, 14h16
  4. problème de connection mysql par tcp/ip
    Par leroyphil dans le forum Administration
    Réponses: 5
    Dernier message: 04/09/2003, 18h27
  5. [Kylix] Pb connection à Mysql
    Par Anonymous dans le forum EDI
    Réponses: 3
    Dernier message: 25/04/2002, 15h26

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