69 votes

Le fil java.sql.Connection est-il sûr?

Pour reformuler la question: devrais-je éviter de partager des instances de classes qui implémentent java.sql.Connection entre différents threads?

76voto

skaffman Points 197885

Si le pilote JDBC est conforme aux spécifications, techniquement oui, l'objet est thread-safe, mais vous devez éviter de partager les connexions entre les threads, car l'activité sur la connexion signifie qu'un seul thread pourra tout faire à la fois. .

Vous devez utiliser un pool de connexions (comme Apache Commons DBCP) pour vous assurer que chaque thread obtient sa propre connexion.

14voto

Andrey Adamovich Points 9404

java.sql.Connection est une interface. Tout dépend donc de l'implémentation du pilote, mais en général, évitez de partager la même connexion entre différents threads et utilisez des pools de connexions. De plus, il est également conseillé d'avoir un nombre de connexions supérieur au nombre de threads de travail dans le pool.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X