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

JSF Java Discussion :

Connexion SQL avec un singleton


Sujet :

JSF Java

  1. #1
    Membre averti
    Avatar de stc074
    Homme Profil pro
    Codeur du dimanche
    Inscrit en
    Janvier 2009
    Messages
    1 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Codeur du dimanche

    Informations forums :
    Inscription : Janvier 2009
    Messages : 1 015
    Points : 407
    Points
    407
    Billets dans le blog
    1
    Par défaut Connexion SQL avec un singleton
    Bonjour,

    Je ne sais pas quelle approche avoir avec les connexions à une BDD dans une application JSF, je recherche la meilleure méthode.

    J'ai tenté une espèce de classe Singleton mais bon mon application bloque en prod (pas en local).

    Je pensais par exemple ouvrir une connexion dans le constructeur du Managed Bean et fermer la connexion dans la méthode predestroy, mais ça fait pas mal de connexions mine de rien.

    Quelqu'un aurait-il des conseils sur la manière la plus économique en ressource sachant que mon site ne croule pas sous les visites ?

    Merci d'avance pour votre aide.

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Le singleton est à mon avis à réserver à des usages extrêmement réduits avec une base de données, et dans tous les cas, des requêtes très courtes.

    Regarde du côté de JPA
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre averti
    Avatar de stc074
    Homme Profil pro
    Codeur du dimanche
    Inscrit en
    Janvier 2009
    Messages
    1 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Codeur du dimanche

    Informations forums :
    Inscription : Janvier 2009
    Messages : 1 015
    Points : 407
    Points
    407
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    Le singleton est à mon avis à réserver à des usages extrêmement réduits avec une base de données, et dans tous les cas, des requêtes très courtes.

    Regarde du côté de JPA
    Merci, que dois-je faire alors ? une connexion à chaque requête ? que je ferme.. ça me parait lourd.

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Une connexion à chaque requête SQL paraît un peu excessif mais à défaut de mieux, c'est ce qu'il faudra.
    Une connexion à chaque "HttpRequest", ça parait mieux... et est un devenu le cas standard pour des applications web.
    Ou alors, si tu passes par des EJB, une façade (voir le pattern Facade) qui enchaîne les différentes opérations base de données.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre averti
    Avatar de stc074
    Homme Profil pro
    Codeur du dimanche
    Inscrit en
    Janvier 2009
    Messages
    1 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Codeur du dimanche

    Informations forums :
    Inscription : Janvier 2009
    Messages : 1 015
    Points : 407
    Points
    407
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    Une connexion à chaque requête SQL paraît un peu excessif mais à défaut de mieux, c'est ce qu'il faudra.
    Une connexion à chaque "HttpRequest", ça parait mieux... et est un devenu le cas standard pour des applications web.
    Ou alors, si tu passes par des EJB, une façade (voir le pattern Facade) qui enchaîne les différentes opérations base de données.
    Finalement j'ai opté pour une connexion à chaque requête, c'était plus facile (mon appli web est finie, et elle est assez conséquente), par contre j'utilise une DataSource, est-ce que le système de pool de connexion fonctionnera sans changement du code (quand je me connecte je récupère la connexion sur la datasource, j'exécute ma requête, puis je me déconnecte avec close() ) ?
    Merci.

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    A ben oui, c'est d'ailleurs comme ça qu'il faut faire... on prend du pool, on utilise, on ferme... nickel
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre averti
    Avatar de stc074
    Homme Profil pro
    Codeur du dimanche
    Inscrit en
    Janvier 2009
    Messages
    1 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Codeur du dimanche

    Informations forums :
    Inscription : Janvier 2009
    Messages : 1 015
    Points : 407
    Points
    407
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    A ben oui, c'est d'ailleurs comme ça qu'il faut faire... on prend du pool, on utilise, on ferme... nickel
    Oui c'est ce que j'ai vu sur le tuto sur developpez, par contre ils ne disent pas de 'configurer' le pool de connexion en ajoutant un script quelconque, ceci se fait-il automatiquement ?
    Merci.

  8. #8
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Non, mais la façon de faire dépend du serveur cible... ça ne se fera pas de la même façon pour un Tomcat ou un JBoss...
    Tu utilises quoi ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Membre averti
    Avatar de stc074
    Homme Profil pro
    Codeur du dimanche
    Inscrit en
    Janvier 2009
    Messages
    1 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Codeur du dimanche

    Informations forums :
    Inscription : Janvier 2009
    Messages : 1 015
    Points : 407
    Points
    407
    Billets dans le blog
    1
    Par défaut
    j'utilise Tomcat 8.0.15

  10. #10
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Tu as tout ici...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  11. #11
    Membre averti
    Avatar de stc074
    Homme Profil pro
    Codeur du dimanche
    Inscrit en
    Janvier 2009
    Messages
    1 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Codeur du dimanche

    Informations forums :
    Inscription : Janvier 2009
    Messages : 1 015
    Points : 407
    Points
    407
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    Tu as tout ici...
    Merci, j'avais bien configuré ma datasource, par contre pour tester à chaque connexion j'affiche con.toString(); et je fais de même quand je ferme, après fermeture et réouverture le toString() diffère, ce n'est donc pas la même référence, est-ce normal ?
    Merci.

  12. #12
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Ce n'est pas la même connexion (encore que, ça pourrait être la même) parce que tu demandes au pool une connexion, ta précédente a peut-être déjà été prise par un autre processus ou ton pool fait "tourner" les connexions de son pool (mais là, ça dépend de la façon d'implémenter la Datasource).
    Bref, rien d'anormal d'avoir une autre référence, et pas plus si c'était la même.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  13. #13
    Membre averti
    Avatar de stc074
    Homme Profil pro
    Codeur du dimanche
    Inscrit en
    Janvier 2009
    Messages
    1 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Lozère (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Codeur du dimanche

    Informations forums :
    Inscription : Janvier 2009
    Messages : 1 015
    Points : 407
    Points
    407
    Billets dans le blog
    1
    Par défaut
    ok merci.

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

Discussions similaires

  1. Comment créer une connexion SQL avec le transat ?
    Par chaima23000 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 31/01/2014, 15h23
  2. problème de connexion SQL avec 1and1.fr
    Par san1981 dans le forum Langage
    Réponses: 3
    Dernier message: 10/12/2009, 13h47
  3. connexion Delphi avec SQL Server en réseau
    Par da_latifa dans le forum Bases de données
    Réponses: 4
    Dernier message: 22/11/2005, 14h24
  4. pb connexion sql server 2000 avec ODBC
    Par prophete3d dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 21/11/2005, 17h19
  5. Connexion à SQL Server avec ASP
    Par ayobo dans le forum ASP
    Réponses: 3
    Dernier message: 25/05/2004, 17h06

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