Typischerweise beträgt die DataSource
Implementierung Sie von einem Java EE Container bekommen eine Thread-sichere Objekt durch einen Verbindungspool und Thread-Sicherheit (oder nicht) der zugrunde liegenden JDBC-Verbindungen ist nicht gesichert sein wirklich relevant. Das übliche Muster, wenn Sie mit der Datenbank sprechen müssen, besteht darin, getConnection()
in der Datenquelle aufzurufen, um ein Verbindungsobjekt zu erhalten, die erforderlichen Datenbankaufrufe durchzuführen und dann die Verbindung close()
. Unter den Abdeckungen schließt dies die zugrunde liegende Verbindung nicht wirklich, sondern bringt sie einfach zur zukünftigen Verwendung in den Verbindungspool zurück. Jede einzelne Verbindung wird nur von einem Thread gleichzeitig verwendet.
Dies ist das Idiom von Dingen wie der Spring JdbcTemplate
verwendet.