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 :

Procédure stockée et fermeture de connexion


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 172
    Par défaut Procédure stockée et fermeture de connexion
    Bonjour,

    j'appelle une procédure stockée Oracle en récupérant la connexion JDBC via this.getSession().connection() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    con = this.getSession().connection();
    			proc = con.prepareCall("{ ? = call pg_prima4.fc_getpath(?) }");
    			proc.registerOutParameter(1, OracleTypes.CURSOR);
    			proc.setInt(2, idRubrique);
    			proc.execute();
    L'appel fonctionne correctement mais il semble y avoir un problème de fermeture de connexion.
    J'utilise un pool dbcp configuré ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	<bean id="UnisversDataSourceObject" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    		<property name="driverClassName" value="oracle.jdbc.OracleDriver" />
    	    <property name="url" value="jdbc:oracle:thin:@server:1521:dbname" />
    	    <property name="username" value="USER" />
    	    <property name="password" value="password" />
    	</bean>
    Par défaut un pool dbcp contient 8 connexions. Et il s'avère qu'après 8 appels de la procédure stockée, je ne peux plus récupérer de connexion dans le pool.
    J'ai essayé plusieurs choses pour fermer la connexion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    con.close();
    this.getSession().close();
    mais rien n'y fait.

    Merci d'avance !

    Thomas

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 172
    Par défaut
    J'ai réussi à m'en sortir !
    J'ai même trouvé 2 solutions.
    La 1ère est d'ouvrir explicitement la session Hibernate avant de récupérer la connexion, avec getSessionFactory().openSession().
    La seconde est d'ouvrir une transaction (dans mon cas c'est géré avec Spring, avec @Transaction).

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 82
    Par défaut Félicitation
    Bravo, tu peux désormais appuyer sur le bouton "Résolu" !

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/10/2014, 13h19
  2. Réponses: 1
    Dernier message: 23/09/2013, 15h51
  3. [ODBC] Connexion à SQL Server 2012 & Procédure stockées
    Par Raijin dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 30/04/2013, 09h13
  4. Procédure stockée et fermeture du curseur
    Par yrochete dans le forum Hibernate
    Réponses: 0
    Dernier message: 29/01/2009, 16h13
  5. Procédure stockée java sous Oracle avec connexion vers Mysql
    Par chemical_seb dans le forum JDeveloper
    Réponses: 0
    Dernier message: 20/08/2008, 18h29

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