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 :

[JSP][JDBC]1 seule connexion à la DB(suite)


Sujet :

JDBC Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2003
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 4
    Points : 2
    Points
    2
    Par défaut [Résolu][JSP][JDBC]1 seule connexion à la DB(suite)
    Bonjour,

    j'ai le même problème que Burno, (je voudrais avoir une seule connexion par session) sauf que dans mon cas, j'ai des fichiers .jsp ET des .java.

    Comment faire pour avoir une seule connexion pour tout ce projet : comment appeler une instance unique d'un objet Connexion depuis tous les programmes ? utiliser un bean ? si oui comment ?

    Merci d'avance, c'est important car en ce moment j'ai plein de connexions. J'espérais m'en sortir avec un pool de connexion, mais maintenant c'est pire !

  2. #2
    duj
    duj est déconnecté
    Membre confirmé

    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2003
    Messages : 141
    Points : 474
    Points
    474
    Par défaut
    Quelques petites réponses :
    1. Il ne faut pas avoir une connection unique!!
    ben oui, comme une application est multithreadée, à chaque fois qu'une personne se connecte, il faur prévoir une connection dédiée ( ben oui, on ne peut pas effectuer des queries en même temps, ou alors, il faut attendre qu'une se termine avant d'initier l'autre...)

    2. Ce qu'il faut, c'est un pool de connections! plusieurs connections gardées dans un poll, quand on en veut une, on la demande quand on en a plus besoin, on la libère.

    Une connection qui n'est plus utilisée doit être libérée, sinon, evidemment, ca merde..


    Une bonne methode est de prévoir une class (Singleton bin sûr) avec une methode getConnection et releaseConnection(Connection con). Et tu n'appele plus que ces methodes. Il n'y a plus qu'à trouver un bon Connection pool (chez apache, par example), ou le faire sois-même...
    Parfois, Google fait des miracles

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2003
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    d'accord, j'ai pas mis un gros DEBUTANT au début, mais comment tu fais pour faire cette classe Singleton : merci d'avance

  4. #4
    duj
    duj est déconnecté
    Membre confirmé

    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2003
    Messages : 141
    Points : 474
    Points
    474
    Par défaut
    Il s'agit du Singleton Pattern (desgin pattern présenté ds le livre du Gang Of Four)
    Quelque pat sur le site, on explique les design pattern, mais je retrouve plus...

    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
     
    public class ConnectionPool{
           private static ConnectionPool instance = new ConnectionPool();
           public static ConnectionPool getInstance(){
                      return instance;
           }
           /*Comme le constructeur est private, personne ne peut instancier
           /* d'objet, sauf la class elle-même
           private ConnectionPool(){
           }
     
           public Connection getConnection(){
              .....
           }
     
           public void releaseConnection(Connection con){
              ......
           }
    }
    Parfois, Google fait des miracles

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2003
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    ok merci,

    Donc si je comprends bien, pas moyen d'avoir une connexion par utilisateur, mais il faut ouvrir et fermer la connexion à chaque appel de la base (ce qui dans mon cas fait beaucoup d'appel et de fermeture)

  6. #6
    duj
    duj est déconnecté
    Membre confirmé

    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2003
    Messages : 141
    Points : 474
    Points
    474
    Par défaut
    Non, il ne faut pas ouvrir et fermer les connections, il faut ouvir quelques connections les garder en pool et les passer à la demande et quand on en a plus besoin on les rend au pool!!

    Ouvrir et fermer à chaque fois, ca perd enormément de temps

    Quand je dis qu'un connection qui n'est plus utilisée doit être libérée, je veux dire qu'il faut la rendre au pool, et pas la fermer (sauf si on est pas pressé)

    le poste çi-dessous parle des connections pool,
    http://www.developpez.net/forums/viewtopic.php?t=108723
    Parfois, Google fait des miracles

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2003
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    ok ok ok, bon merci au moins ça me permet de faire le ménage dans la fermeture de mes connexions (non je rigole dans la fermeture de mes connexions qui en fait sont pas des vraies connexions lol)

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

Discussions similaires

  1. JSP - avoir une seule connexion JDBC
    Par hicham10 dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 17/06/2009, 23h34
  2. Réponses: 6
    Dernier message: 16/08/2006, 15h56
  3. [Tomcat] JSP & JDBC
    Par BRAUKRIS dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 18/10/2005, 20h50
  4. [SYSTEME] connexion internet HS suite a maj XP SP2
    Par kokatrix dans le forum Windows XP
    Réponses: 7
    Dernier message: 10/08/2005, 17h27
  5. [Jdbc et postgresql ] connexion impossible a la base
    Par tasdorjtador dans le forum JDBC
    Réponses: 6
    Dernier message: 11/05/2005, 21h19

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