Bonjour,
j'appelle une procédure stockée Oracle en récupérant la connexion JDBC via this.getSession().connection() :
L'appel fonctionne correctement mais il semble y avoir un problème de fermeture de connexion.
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();
J'utilise un pool dbcp configuré ainsi :
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.
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>
J'ai essayé plusieurs choses pour fermer la connexion :
mais rien n'y fait.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 con.close(); this.getSession().close();
Merci d'avance !
Thomas
Partager