|
Publicité ' | ||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Développeur Web Inscription : décembre 2010 Messages : 73 ![]() |
Bonjour,
J'utilise le DATASOURCE pour se connecter à la base de donnée oracle dans mon application et j'ai comme avantage : 1) chaque appel à ce datasource avec le taglib <sql:query dataSource="jdbc/nomconn"> le datasource vérifie s'il ya une connexion active pour qu'il utilise après chaque appel de sql:query. 2) les ressources sont bien partagés et bien utilisés. Inconvénients: * Je visualise des connexions inactive sur oracle concernant le datasource,ce qui généré le nombre maximum des connections atteint. J'utilise le server.xml pour configurer la ressource utilisé pour chaque datasoucre ,et voilà les paramètres: <Resource name="jdbc/nomcon" type="javax.sql.DataSource" password="pass" driverClassName="oracle.jdbc.OracleDriver" maxIdle="10" maxWait="200" removeAbandoned="true" logAbandoned="true" username="user" url="jdbc:oracle:thin:@ip:1521:sid" removeAbandonedTimeout="10" maxActive="10"/> les connections inactive ne se ferme que lorsque je redémarre tomcat. ma question c'est: comment parvenir à fermer la connexion inactive à partir de la configuration de la ressource du datasource,sachant que j'ai utilisé le paramètre removeAbandoned="true" et removeAbandonedTimeout="10" mais en vain. Merci. |
|
|
00
|
|
|
#2 |
![]() ![]() |
Ta configuration mentionne clairement un pool de 10 connexions en attentes. (En même temps c'est aussi le but du pool...)
Donc à moins de te débarasser du pooling (max à 0). Es-tu sur que ce sont les connexion "inactive" le problème, ou est-ce que tu as du leak dans tes connexion (connexions non rendues au pool). Le removeAbandoned ça sert juste à rattraper du code cochon, mieux vaut commencer par éviter le code cochon!
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et ![]() "Votre génitrice tute des pédoncules au pandémonium" (le conjurateur, 1973) |
|
|
00
|
|
|
#3 | ||
|
Nouveau Membre du Club
![]() Développeur Web Inscription : décembre 2010 Messages : 73 ![]() |
Voulez vous dire par le code cochon les connexions non fermer?
Moi je ferme pas les connexions ,dans chaque requete j'utilise la balise sql:query dataSource="jdbc/nomconn"> et je la ferme </sql:query>,sauf quelque requête dans les quelles je fait Code :
j'arrive pas à comprendre d'ou vient les connexions inactive dans la base de données suite à mon application? |
||
|
|
00
|
|
|
#4 |
![]() ![]() |
sql:query, on peux supposer qu'il rend correctement les connexions.
Dans votre code à vous, est-ce que vous faite bien appel systématiquement (donc dans un bloc finally) au close() de votre connexion ainsi que de tout Statement que vous auriez créé? C'est important, si la connexion n'est pas libérée ainsi, le connexion pool ne saura jamais qu'il peux la réutiliser, elle sera perdue (mais mangera quand même de la place dans la liste des connexion du serveur DB)
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et ![]() "Votre génitrice tute des pédoncules au pandémonium" (le conjurateur, 1973) |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com