Verwenden von Verbindungspools

JDBC-Treiber herunterladen

Microsoft JDBC-Treiber für SQL Server unterstützt Verbindungspoolfunktionen der Java-Plattform, Enterprise Edition (Java EE). Der JDBC-Treiber implementiert die erforderlichen JDBC 3.0-Schnittstellen, damit der Treiber Verbindungspoolimplementierungen von Middlewareherstellern nutzen kann. Der JDBC-Treiber ist JDBC 3.0-kompatibel. Middleware wie Java EE-Anwendungsserver bieten häufig kompatible Verbindungspoolfunktionen. Der JDBC-Treiber nutzt in diesen Umgebungen Verbindungspools.

Hinweis

Obwohl der JDBC-Treiber Java EE-Verbindungspools unterstützt, stellt er keine eigene Poolimplementierung bereit. Der Treiber benötigt Java-Anwendungsserver eines Drittanbieters zum Verwalten der Verbindungen.

Bemerkungen

Für die Verbindungspoolimplementierung stehen die folgenden Klassen zur Verfügung.

Klasse Implementiert BESCHREIBUNG
com.microsoft.sqlserver.jdbc. SQLServerXADataSource javax.sql.ConnectionPoolDataSource und javax.sql.XADataSource Sie sollten für alle erforderlichen Java EE-Serverfunktionen die SQLServerXADataSource-Klasse verwenden, da sie alle JDBC 3.0-Poolfunktionen und XA-Schnittstellen implementiert.
com.microsoft.sqlserver.jdbc. SQLServerConnectionPoolDataSource javax.sql.ConnectionPoolDataSource Bei dieser Klasse handelt es sich um ein Verbindungsfactory, das es dem Java EE-Anwendungsserver ermöglicht, den Verbindungspool mit physischen Verbindungen zu füllen. Wenn die Konfiguration des Java EE-Herstellers eine Klasse erfordert, die „javax.sql.ConnectionPoolDataSource“ implementiert, geben Sie den Klassennamen als SQLServerConnectionPoolDataSource an. Sie sollten stattdessen im Allgemeinen die SQLServerXADataSource-Klasse verwenden, da sie sowohl Poolfunktionen als auch XA-Schnittstellen implementiert und in einer größeren Zahl von Java EE-Serverkonfigurationen überprüft wurde.

Der JDBC-Anwendungscode sollte die Verbindungen immer explizit schließen, damit die Pools optimal genutzt werden können. Wenn die Anwendung eine Verbindung explizit schließt, kann die Poolimplementierung die Verbindung sofort wiederverwenden kann. Wenn die Verbindung nicht geschlossen wird, kann sie von anderen Anwendungen nicht wiederverwendet werden. Die Anwendungen können im finally-Konstrukt sicherstellen, dass Poolverbindungen auch beim Auftreten von Fehlern geschlossen werden.

Hinweis

Nicht alle Java-Verbindungspooling-Bibliotheken von Drittanbietern implementieren die oben genannten JDBC-APIs für das Verbindungspooling. Diese Bibliotheken müssen ihre eigenen Methoden implementieren, um Verbindungen in ihren ursprünglichen Status zurückzuversetzen, wenn sie an den Verbindungspool zurückgegeben werden.

Weitere Informationen

Verbinden mit SQL Server mit dem JDBC-Treiber