Pour reformuler la question: devrais-je éviter de partager des instances de classes qui implémentent java.sql.Connection
entre différents threads?
Réponses
Trop de publicités?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.
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.