Использование пулов подключений

Скачать драйвер JDBC

Драйвер Microsoft JDBC для SQL Server поддерживает пул подключений для платформы Java выпуск Enterprise (Java EE). В драйвере JDBC реализованы необходимые интерфейсы JDBC 3.0, что позволяет драйверу участвовать в любой реализации пулов соединений, предоставляемой поставщиками ПО промежуточного слоя и совместимой с JDBC 3.0. ПО промежуточного слоя, например серверы приложений Java EE, часто предоставляет соответствующие стандарту средства работы с пулами соединений. Драйвер JDBC сможет участвовать в соединениях из пула в таких средах.

Примечание.

Драйвер JDBC поддерживает пулы соединений Java EE, однако не предоставляет собственную реализацию работы с пулом. Драйверу необходимо, чтобы управление соединениями осуществлялось серверами приложений Java сторонних разработчиков.

Замечания

Далее представлены классы для реализации пулов соединений.

Класс Реализует Описание
com.microsoft.sqlserver.jdbc. SQLServerXADataSource javax.sql.ConnectionPoolDataSource и javax.sql.XADataSource Рекомендуется использовать класс SQLServerXADataSource для всех задач сервера Java EE, так как в нем реализованы все интерфейсы пулов JDBC 3.0 и интерфейсы XA.
com.microsoft.sqlserver.jdbc. SQLServerConnectionPoolDataSource javax.sql.ConnectionPoolDataSource Этот класс представляет фабрику соединений, которая позволяет серверу приложений Java EE заполнять пул соединений физическими соединениями. Если конфигурация поставщика Java EE подразумевает необходимость класса, реализующего javax.sql.ConnectionPoolDataSource, укажите имя класса в свойстве SQLServerConnectionPoolDataSource. Вместо этого рекомендуется использовать класс SQLServerXADataSource, так как в нем реализуются и интерфейсы пулов, и интерфейсы XA, а его работоспособность проверена в большем числе конфигураций сервера Java EE.

Чтобы получить максимальную выгоду от использования пулов, в коде приложений JDBC всегда следует явно закрывать соединения. Если приложение явно закрывает соединение, реализация пулов может немедленно повторно использовать это соединение. Если соединение не закрыто, другие приложения не могут его использовать. Приложения могут использовать конструкцию finally, чтобы гарантировать, что соединения из пула будут закрыты даже при возникновении исключения.

Примечание.

Не все сторонние библиотеки для пулов подключений Java реализуют приведенные выше API JDBC для создания пула подключений. Эти библиотеки должны реализовывать собственные методы для возврата подключений к их исходным состояниям при возвращении в пул подключений.