Bonjour à tous,
nous utilisons Hibernate au travail pour un programme comprenant un front et un back-end.
Le back-end se connecte à deux bases distinctes (une Oracle et une Sybase).
Nous avons malheureusement des problèmes avec la base Oracle.
En effet les DBA nous ont averti d'un trop grand nombre de connexions restant ouvertes à la base de données (nous utilisions alors le pool de connection builtin d'Hibernate). Nous sommes donc passés à l'utilisation de c3p0 pour qu'il gère correctement le pool.
Je vais vous mettre directement la config d'hibernate / c3p0:
Le problème est donc comme je l'ai dis plus haut qu'Hibernate laisserait des connexions à la base de données ouvertes, pourtant c3p0 est configuré pour gérer un pool de [0; 10] connexions ouvertes, avec un timeout réglé à une minute pour les release plus rapidement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
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
Tout à l'air de bien se passer pendant quelques heures, et le problème reviens à nouveau...
J'ai donc regardé dans les log du backend et voila une erreur qui est lancé des centaines de fois:
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Pour plus d'infos je vous montre le schéma de code Java qui est toujours utilisé pour faire des accès à la base de données via Hibernate, peut-être y a t il une coquille dedans et c'est le bout de code qui oublierais de fermer les connexions dans certains cas ?
J'utilise la classe SessionManager que j'ai trouvé dans la doc hibernate: https://www.hibernate.org/238.html ou via google cache car le site n'a pas l'air de répondre ce matin...
et nous l'utilisons ainsi
J'aurai vraiment besoin d'aide car je suis totalement perdu sur la cause de ces connexions fantômes qui restent en vie alors qu'hibernate/c3p0 devrait les couper quand il n'en a plus besoin
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8.
Merci d'avances à tous

 

 
		
		 
        

 
			
			



 Problème de connexions ouvertes - Oracle / c3p0
 Problème de connexions ouvertes - Oracle / c3p0
				 Répondre avec citation
  Répondre avec citation
Partager