2009-01-08 10 views
0

Est-ce que quelqu'un connaît la meilleure façon de vider un pool de connexions JDBC? Je ne trouve rien d'évident dans la documentation. Il semble que les pools de connexion ne soient jamais destinés à être supprimés. Mon idée actuelle est de supprimer toutes les sources de données du hachage dans lequel nous les stockons, ce qui va déclencher notre code pour en créer de nouvelles. Cependant, ma première tentative lance une exception ConcurrentModificationException.Vider les pools de connexions JDBC

Répondre

0

Pourquoi voulez-vous supprimer, plutôt que de ne pas le créer à la première place.

Il devrait être basé sur votre serveur d'applications, peut-être une programmation JNDI pourrait faire l'affaire.

0

Vous ne devez pas écrire un pool de connexions. Cela est géré par le serveur d'applications Java EE.

1

Vous ne devez pas écrire un pool de connexions. Même si vous voulez gérer le pool vous-même (plutôt que de laisser un conteneur le faire), vous devez utiliser une bibliothèque pour cela (comme Commons DBCP).

Si vous souhaitez tout supprimer d'un hachage, vous devez utiliser hash.clear().

Si vous souhaitez éviter ConcurrentModificationException, vous devez ajouter une synchronisation.

Si vous supprimez des références à Connections (êtes-vous sûr de vouloir dire DataSources?), Assurez-vous de les fermer d'abord().

Questions connexes