Verwenden von Verbindungspools

Microsoft SQL Server JDBC Driver unterstützt Verbindungspoolfunktionen der Java-Plattform, Enterprise Edition 5/JDBC 2.0. 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 J2EE-Anwendungsserver bieten häufig kompatible Verbindungspoolfunktionen. Der JDBC-Treiber nutzt in diesen Umgebungen Verbindungspools.

Hinweis

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

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 5-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 5-Anwendungsserver ermöglicht, den Verbindungspool mit physischen Verbindungen zu füllen. Wenn die Konfiguration des Java EE 5-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 5-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

Der JDBC-Treiber ruft zurzeit nicht die gespeicherte Prozedur "sp_reset_connection" auf, wenn die Verbindung an den Pool zurückgegeben wird. Der Treiber geht stattdessen davon aus, dass die Java-Anwendungsserver der Drittanbieter die Verbindungen wieder in den ursprünglichen Status zurück versetzen.

Siehe auch

Andere Ressourcen

Verbinden von SQL Server mit dem JDBC-Treiber