2009-07-07 7 views
2

Dans le scénario où une connexion est obtenue à partir d'un pool de base de données (Commons DBCP, etc.) et lorsque la connexion est fermée à l'aide de connection.close(), comment la connexion est-elle renvoyée? la piscine?Connexion à la base de données pooling et connection.close()

Y a-t-il une méthode de rappel dans l'objet de connexion qui est appelée sur connection.close() qui renvoie la connexion au pool dont elle est originaire?

+1

pourquoi demandez-vous? N'est-il pas suffisant que la connectionn soit retournée à la piscine? –

+6

Qu'est-ce qui ne va pas lorsqu'on essaie de savoir comment les choses fonctionnent? –

+1

parce que la raison pour laquelle les gens posent une telle question est généralement parce qu'ils essaient de faire quelque chose qui n'est pas recommandé !! Mais je suis sûr que vous n'êtes pas ... –

Répondre

6

Habituellement, l'objet de connexion que vous recevez est un décorateur de l'original et l'appel close le renvoie simplement à la piscine. Ça ne le ferme pas.

+0

oui, c'était la question et la réponse est correcte. Le pool renvoie une connexion qui encapsule le réel et l'appel de close() renvoie simplement l'objet au pool. La connexion sous-jacente est fermée par d'autres moyens (gestion de pool) – cadrian

Questions connexes