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 :

[débutant] [Tomcat] [Eclipse] Principe pool de connexion


Sujet :

JDBC Java

  1. #1
    Membre habitué Avatar de bouchette63
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Points : 187
    Points
    187
    Par défaut [débutant] [Tomcat] [Eclipse] Principe pool de connexion
    Bonjour,

    Je découvre petit à petit les technologies liées à J2EE. Mais j'ai un peu de mal à comprendre certaines fonctionnalitées, c'est pourquoi je demande votre aide.

    J'ai un projet qui fonctionne parfaitement sous WSAD 5.1.2. La connection à la base de donnée se fait avec hibernate 2 et le driver db2jcc. Dans mon hibernate.cfg.xml, on retrouve tout cela spécifié (driver,url,username et password).

    On m'a demandé récemment de faire marcher cette application avec Eclipse au moyen du serveur Tomcat. J'ai donc importé le projet, et je l'ai déployé sous Eclipse en apportant les modifications nécessaires. Mais apparemment, il n'arrive pas à se connecter à la base de donnée.
    1) Je voudrais donc savoir si il faut également spécifier le pool de connexion dans Tomcat (c'est à dire dans fichier context.xml ou server.xml), en sachant qu'il est déjà défini dans le hibernate.cfg.xml.
    2) Si oui, faut-il le faire avec le même driver, c'est à dire db2jcc.

    Merci pour votre aide.

  2. #2
    Membre régulier Avatar de Buch'
    Inscrit en
    Avril 2005
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 61
    Points : 73
    Points
    73
    Par défaut
    Bonjour,

    D'après ce qu'on peut lire dans la FAQ ICI il semble que oui. Tu as plusieurs fichiers à mettre à jours.

  3. #3
    Membre éclairé Avatar de BizuR
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    688
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 688
    Points : 757
    Points
    757
    Par défaut
    Je ne crois pas que tu aies à faire cela. J'ai eu à déployer un exemple identique sur Tomcat et tout a fonctionner sans problème.

    La question: est-ce que cela fonctionne hors tomcat ? Si oui, euh, peut etre dois-tu changer une option de configuration de ton Serveur Tomcat mais d'origine, sache que tu n'as normalement rien a faire

    Ton lien Buch' permet d'obtenir une connexion persistante à partir du serveur directmenet. ici ca n'est donc plus l'application qui gère ce dernier ... enfin, je pense

  4. #4
    Membre habitué Avatar de bouchette63
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Points : 187
    Points
    187
    Par défaut
    Ok merci pour vos réponses.

    Pour ton information BizuR, j'arrive à faire fonctionner mon application sous WSAD sans Tomcat. Donc d'après ce que tu me dis, je n'ai pas besoin d'ajouter un pool de connexion dans Tomcat, vu qu'il est définis dans l'application.
    Il doit peut-être y avoir un problème au niveau des classpath ou d'une jar manquante si il ne veut pas se connecter ? Tu penses que le fichier de configuration de mon serveur Tomcat peut-être lié à ce problème ? Bizarre, enfin je fais des recherches, mais encore rien pour l'instant

  5. #5
    Membre habitué Avatar de bouchette63
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Points : 187
    Points
    187
    Par défaut
    C'est bon j'ai trouver pourquoi mon application ne pouvait pas se connecter à ma base de données : une de mes tables faisaient un mapping d'une clé externe sur une table que j'ai supprimé

    Donc maintenant je n'ai plus de problèmes.

    Merci à vous.

  6. #6
    Membre éclairé Avatar de BizuR
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    688
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 688
    Points : 757
    Points
    757
    Par défaut
    Tu peux peut etre afficher ton fichier de config Hibernate, ton fichier de configuration du pool de connexion, ainsi que l'erreur qui apparait ?

  7. #7
    Membre habitué Avatar de bouchette63
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Points : 187
    Points
    187
    Par défaut
    Alors voici un petit peu plus d'explication :

    Mon fichier de configuration hibernate avec son pool de connexion :

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" "http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">
     
    <hibernate-configuration>
    	<session-factory name="java:/hibernate/HibernateFactory">
     
    		<property name="dialect">net.sf.hibernate.dialect.DB2Dialect</property>
     
    		<!-- Config -->
    		<!---->
    		<property name="connection.driver_class">com.ibm.db2.jcc.DB2Driver</property>
    		<property name="connection.url">jdbc:db2://xrwg01i0:50000/Nom_Base</property>
    		<property name="connection.username">Nom_Utilisateur</property>
    		<property name="connection.password">Mot_de_passe</property>
    		<!---->
    		<!-- Config -->		
     
    		<property name="show_sql">false</property>
            <mapping resource="hibernate-config/DbControleDAcces.hbm.xml"/>
            <mapping resource="hibernate-config/DbEntiteAvecDroit.hbm.xml"/>
            <mapping resource="hibernate-config/DbTypeDocument.hbm.xml"/>
            <mapping resource="hibernate-config/DbEtablissement.hbm.xml"/>
            <mapping resource="hibernate-config/DbDomaine.hbm.xml"/>
            <mapping resource="hibernate-config/DbAttribut.hbm.xml"/>
            <mapping resource="hibernate-config/DbDomaineEntiteAvecDroit.hbm.xml"/>
            // table supprimée car d'aucune utilitée
            <!-- <mapping resource="hibernate-config/DbControleTypeDocument.hbm.xml"/>--> 
            <!-- <mapping resource="hibernate-config/DbTypeDocumentControle.hbm.xml"/>--> 
            <mapping resource="hibernate-config/DbAttributsTypeDocument.hbm.xml"/>
            <mapping resource="hibernate-config/DbCritere.hbm.xml"/>
            <mapping resource="hibernate-config/DbDocumentIndexe.hbm.xml"/>
            <mapping resource="hibernate-config/DbValeurAttribut.hbm.xml"/>
    	</session-factory>
    </hibernate-configuration>
    Alors vu que l'une de mes tables supprimée était liée à la table dbTypeDocument, j'avais une erreur lors de l'ouverture de ma session hibernate :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Impossible de mapper les objets hibernate : Association references unmapped class: com.core.database.mapping.DbTypeDocumentControle
    J'ai donc mis en commentaire le mapping de cette clé vers la table DbTypeDocumentControle dans mon fichier DbTypeDocument.hbm.xml, et maintenant tout fonctionne

  8. #8
    Membre éclairé Avatar de BizuR
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    688
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 688
    Points : 757
    Points
    757
    Par défaut
    Ah, au temps pour moi, j'avais pas lu que tu avais résolu le problème.

    Cependant, je ne vois pas ici où se situe ton pool de connexion. Utilises-tu celui d'hibernate par défaut ? Fait attention à ce dernier il n'est pas DU TOUT préconisé pour les applis fortement utilisée (prod, perf, etc.)

    Si tu veux utiliser un pool plus stable, tournes toi plutot vers C3P0, DBCP ou Proxool qui t'offriront une configuration rapide avec Hibernate mais aussi bien plus stable

  9. #9
    Membre habitué Avatar de bouchette63
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Points : 187
    Points
    187
    Par défaut
    Effectivement tu as raison pour le pool de connexion.

    Mais maintenant, je suis chargé de changer ce fameux pool, pour le remplacer par C3PO. Cela justement pour augmenter la fiabilité.

    Merci à toi BizuR

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

Discussions similaires

  1. [Tomcat 5.5] Pool de connexion
    Par jpastier dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 25/06/2008, 09h06
  2. [Tomcat] Problème du pooling de connexion
    Par divail dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 27/07/2006, 14h27
  3. [Tomcat 5.0] pool de connexion
    Par helter_skelter dans le forum Tomcat et TomEE
    Réponses: 14
    Dernier message: 21/06/2006, 10h50
  4. [Tomcat 5.5] Pool de connexion très lent
    Par JFDelges dans le forum Tomcat et TomEE
    Réponses: 9
    Dernier message: 14/10/2005, 13h44
  5. [TOMCAT] Ressource globale pool de connexion partagée
    Par ren0 dans le forum Tomcat et TomEE
    Réponses: 5
    Dernier message: 15/03/2005, 14h05

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