Maison > base de données > tutoriel mysql > Dois-je fermer les connexions JDBC même lorsque j'utilise un pool de connexions ?

Dois-je fermer les connexions JDBC même lorsque j'utilise un pool de connexions ?

Barbara Streisand
Libérer: 2024-12-07 11:58:11
original
664 Les gens l'ont consulté

Should I Close JDBC Connections Even When Using a Connection Pool?

Fermeture des connexions JDBC dans la configuration du pooling

Lors de l'utilisation d'un pool de connexions, il est crucial de fermer la connexion à la fin de son utilisation, malgré l’idée fausse répandue selon laquelle cela nie l’objectif de la mise en commun. En fermant la connexion, vous la remettez effectivement au pool. Cela permet au pool de gérer ses ressources et de décider s'il doit fermer la connexion réelle ou la réutiliser pour les appels getConnection() ultérieurs.

Cependant, dans l'extrait de code fourni, vous essayez de basculer entre une connexion groupée et un connexion directe depuis le DriverManager. Cette pratique est fortement déconseillée. Au lieu de cela, établissez une seule DataSource lors de l’initialisation de l’application et comptez uniquement sur elle pour récupérer les connexions. Ce faisant, vous éliminez le besoin de synchronisation, les vérifications nulles et l'incertitude quant à la méthode de connexion invoquée au moment de l'exécution.

Fermeture des connexions dérivées de méthodes hybrides

Oui , il est nécessaire de fermer la connexion renvoyée par la méthode hybride que vous avez présentée. Quelle que soit la méthode utilisée pour acquérir la connexion, le principe général de fermeture des ressources JDBC dans l'ordre inversé reste applicable. Cette pratique garantit un nettoyage approprié des ressources et évite leur épuisement.

Pratique standard pour l'acquisition de connexion

En général, l'approche privilégiée pour acquérir une connexion JDBC implique :

  1. Initialiser une DataSource une fois lors du démarrage de l'application.
  2. Appeler à plusieurs reprises getConnection() sur la DataSource tout au long de la durée de vie de l'application.

Cette approche simple et directe élimine les complexités et les incertitudes associées aux méthodes d'acquisition de connexions hybrides.

Ressources supplémentaires

  • Est-il sûr d'utiliser une instance statique java.sql.Connection dans un environnement multithread ? système ?
  • Est-ce que j'utilise le pooling de connexions JDBC ?

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal