Bonjour, je poste ça juste pour savoir si quelqu'un peut m'expliquer ce phénomène:
j'ai un outil qui va faire une connection à une base de données.
Suite à un algorithme tout droit issu d'un cerveau mal irrigué ou déficient (le mien en l'occurence), je faisais une nouvelle connection pour chaque requete.
Tout fonctionnait bien jusqu'au jour où j'ai essayé de lancer une routine qui aurait pour effet de lancer un millier de requetes dans une boucle while (le tout est censé prendre une vingtaine de secondes)
J'ai eu un classique gel sur le datasource.getConnection().
Comment se fait-ce, alors que je n'ai qu'une seule connection, un seul statement et un seul resultSet, et qu'à la fin de ma boucle je les fermais tous les trois avec xxx.close()?
J'ai essayé en ne faisant qu'une connection pour toute l'opération et ça marche mieux.
De toute façon c'est mieux à tous points de vues mais juste pour mon information j'aimerai savoir comment je pouvais saturer mon pool de connection malgré mes close...
Merci si vous avez une idée!
PS: le DataSource que j'utilise est le BasicDataSource fournit avec Tomcat, le driver est le driver Oracle.jdbc.driver.OracleDriver
Partager