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

Hibernate Java Discussion :

[STRUTS/HIBERNATE] Problème d'exécution de requête


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 12
    Par défaut [STRUTS/HIBERNATE] Problème d'exécution de requête
    Salut tout le monde,

    Je développe actuellement une application avec Struts et Hibernate. Dans mes actions Struts je fais des requete sur mes objets générés par Hibernate, jusque là pas de problèmes.
    Par contre mes requetes ne marche plus lorsque je laisse tourner mon Tomcat toute la nuit et que je réessaie le lendemain mais elles marchent toujours apres 1 ou 2h dattente. A priori ce n'est pas à cause de Struts parce que les pages statiques fonctionnent toujours, mais ce sont les pages qui font appellent à la base de données qui ne passent plus.

    J'ai bien fais attention à clore ma session Hibernate à la fin de chaque requete. Pour ouvrir et fermer mes sessions Hibernate à chaque fois, j'utilise la classe HibernateUtil fournit par la doc officielle à l'url http://www.hibernate.org/hib_docs/re...uickstart.html en bas de la page.

    L'erreur affichée dans ma console est la suivante :






    Aurais-je oublié qqch ?

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 274
    Par défaut
    bonjour,

    Hibernate est fourni avec un pool de connexion minimaliste ne pouvant fonctionner plus de 8 heures d'affillée.
    Tu dois utiliser un pool de connexion tel que C3P0, DBCP, proxool.

    http://www.hibernate.org/hib_docs/v3/reference/en/html/session-configuration.html#configuration-hibernatejdbc

  3. #3
    Membre averti
    Inscrit en
    Août 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 12
    Par défaut
    salut,

    Merci bcp, c'est bien de là que vient le problème.
    Je pense que ja vais utiliser c3p0 puisqu'il est fournit avec Hibernate. Par contre, dans la doc ils donnent un exemple utilisant c3p0 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    hibernate.connection.driver_class = org.postgresql.Driver
    hibernate.connection.url = jdbc:postgresql://localhost/mydatabase
    hibernate.connection.username = myuser
    hibernate.connection.password = secret
    hibernate.c3p0.min_size=5
    hibernate.c3p0.max_size=20
    hibernate.c3p0.timeout=1800
    hibernate.c3p0.max_statement=50
    hibernate.dialect = net.sf.hibernate.dialect.PostgreSQLDialect
    ...mais où faut-il que je mette ce code, sachant que j'utilise uniquement le fichier hibernate.cfg.xml pour configurer Hibernate ?

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 274
    Par défaut
    L'exemple est destiné à un fichier hibernate.properties.

    Dans un fichier hibernate.cfg.xml cela donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <property name="hibernate.c3p0.min_size">5</property>
    <property name="hibernate.c3p0.max_size">20</property>
    <property name="hibernate.c3p0.timeout">1800</property>
    <property name="hibernate.c3p0.max_statements">50</property> 
     
    etc...

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2002
    Messages
    186
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 186
    Par défaut
    le pb est connu pour mysql
    regarde sur le forum

    je crois qu'il fo rajouter ?setAutoReconnect=true dans l'url

    je n'ai pas ce pb avec mysql 4.x et la datasource définie dans le context.xml de l'appli
    a partir de tomcat 5.5, dbcp est uilisé par défaut, donc c ok!

  6. #6
    Membre averti
    Inscrit en
    Août 2005
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 12
    Par défaut
    Pietra tu as effectivement raison
    Je n'avais pas utiliser le bon pool de connexion
    J'ai refais les tests avec C3p0 et ça marche nickel 8)

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/04/2007, 01h18
  2. [MySQL] Problème d'exécution de requête
    Par hedgehog dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 23/02/2007, 16h29
  3. Problème d'exécution de requête
    Par Juanito-Toto dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 26/10/2006, 11h14
  4. problème d'exécution de requête sous VBA?
    Par jessy212 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 26/08/2006, 19h48
  5. Réponses: 2
    Dernier message: 02/03/2006, 20h29

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