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 :

avis sur java et jdbc


Sujet :

JDBC Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 139
    Points : 65
    Points
    65
    Par défaut avis sur java et jdbc
    Bonjour , je developpe actuellement une application java non web. Mon app communique via jdbc avec MySQL. La question est la suivante, faut-il tenir l'object connection pendant la vie de mon app et le passer en parametre a chaque classe qui en aura besoin ou faut il que je m'addresse a la base faire un DriverManager.getConnection(...) et faire un close ensuite, pour chaque requete?
    je sais que je sais rien. :-(

  2. #2
    Membre éclairé Avatar de g_rare
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 608
    Points : 683
    Points
    683
    Par défaut
    La réponse est un POOL DE CONNEXION (comme "Apache DBCP" par exemple), qui crée un stock de connexions au démarrage de ton application : et dont tu en réserve une quand besoin est ; tu passes alors ta connexion à travers toutes tes fonctions, l'utilises avant de la libérer dans le pool au final...
    " Jag blev dömd för fildelning och allt jag fick var en sketen t-shirt. " (tankafritt.nu)
    PAS DE REPONSE PAR MESSAGE PRIVE ! Penser au bouton Résolu en bas de la discussion...

  3. #3
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Un close à chaque requete, et ce close doit être effectué dans le bloc finally suivant ton try/catxh sur une SQLException
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  4. #4
    Membre habitué Avatar de minus
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    153
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 153
    Points : 177
    Points
    177
    Par défaut
    J'ai le meme genre d'appli en developpement en ce moment meme et j'ai opté pour la seconde solution.
    Je pense que ca depend enormement du nombre de requetes et du traitement de celles-ci.

    Pour ma part je prefere tout de meme cette solution car ca te permet, si ton logiciel attend des instructions de l'utilisateur, de ne pas saturer la connection à ta base en faisant des sorte de "pauses"(enfin je crois ^^).
    Science sans conscience n'est que ruine de l'âme

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 139
    Points : 65
    Points
    65
    Par défaut
    merci bcp les gars, je ferai comme vous le conseiller. Par contre concernant le POOL DE CONNEXION, j'ai pas trop bien compris, dans mon cas a moi, ou se trouve le stock de connexions(car j'ai pas Apache ici puisque c'est pas une web app) et comment avoir mon identifiant de connexion?
    je sais que je sais rien. :-(

  6. #6
    Membre éclairé

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 346
    Points : 737
    Points
    737
    Par défaut
    Une librairie trés simple d'utilisation : les jakarta commons DBUtils :
    http://jakarta.apache.org/commons/dbutils/

    Une trés bonne et claire explication :
    http://christophej.developpez.com/tutoriel/api/dbutils/

  7. #7
    Membre confirmé Avatar de Scorpyosis
    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2004
    Messages : 365
    Points : 570
    Points
    570
    Par défaut
    Ca dépend de ce que tu veux faire en fait. Si tu as assez souvent des requetes a faire, moi perso j'obterai pour l'ouverture de la connexion en début de programme et la fermeture a la fin. Maintenant si tu fais des requetes que tres rarement, tu peux trés bien ouvrir/fermer a chaque fois la connexion.
    Les deux principales inventions sorties de Berkeley sont UNIX et le LSD. Difficile de croire à une quelconque coïncidence - Jeremy S. Anderson

    Avant de vouloir qu’un logiciel soit réutilisable, il faudrait d’abord qu’il ait été utilisable - Ralph Johnson

  8. #8
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Je suis du même avis que Scorpyosis, si tu fais beaucoup de requêtes, je pense que tu t'en tireras mieux avec une connexion ouverte en début de programme et fermée à la fin. Car s'il faut ouvrir à chaque fois une nouvelle connection et la fermer pour chaque requête, tu pourrais en avoir pour long. C'est en tout cas la méthode pour laquelle j'ai opté pour mon programme avec mysql.

  9. #9
    Membre éclairé

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 346
    Points : 737
    Points
    737
    Par défaut
    Tout dépend aussi de ton temps d'execution de ton application.
    Il est fortement déconseillé de laisser une connexion JDBC ouverte trop longtemps. Dans tout les cas, avec une connexion persistante (donc jamais fermé) test la connexion avant de l'ouvrire pour le cas où elle aurrait été fermée par la base de données. En effet, les connexion ouverte mais non utilisé sont souvent fermé du coté base de données.

  10. #10
    Membre habitué Avatar de Xavinou
    Inscrit en
    Mai 2005
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 135
    Points : 156
    Points
    156
    Par défaut
    Si ton application execute séquentiellement les requêtes, je ne vois pas trop l'interet d'un pool de connexion ?
    Pour la politique d'ouverture/fermeture de la connexion, l'essentiel a déjà été dit !

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

Discussions similaires

  1. Votre avis sur "Java SOA Cookbook" ?
    Par Ricky81 dans le forum Livres
    Réponses: 1
    Dernier message: 08/01/2010, 23h01
  2. Réponses: 8
    Dernier message: 12/06/2007, 20h58
  3. [java.lang.class] Votre avis sur une portion de code
    Par be_tnt dans le forum Langage
    Réponses: 3
    Dernier message: 18/10/2006, 16h55
  4. votre avis sur jdbc
    Par Zorgz dans le forum JDBC
    Réponses: 1
    Dernier message: 17/05/2006, 11h46
  5. Réponses: 2
    Dernier message: 04/03/2006, 11h52

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