Spec-Zone.ru › OpenJDK 8

Интерфейс PooledConnection

Все известные дочерние интерфейсы:
XAConnection

public interface PooledConnection

Объект, предоставляющий методы для управления пулом соединений. Объект PooledConnection представляет физическое соединение с источником данных. Соединение может быть повторно использовано вместо закрытия, когда приложение с ним закончит работу, тем самым уменьшая количество необходимых соединений.

Программист приложения не использует интерфейс PooledConnection напрямую; он используется инфраструктурой среднего уровня, управляющей пулом соединений.

Когда приложение вызывает метод DataSource.getConnection, оно получает объект Connection. Если используется пул соединений, этот объект Connection фактически является обработчиком объекта PooledConnection, который представляет физическое соединение.

Управляющий пулом соединений, обычно сервер приложений, поддерживает пул объектов PooledConnection. Если в пуле доступен объект PooledConnection, управляющий пулом возвращает объект Connection, который является обработчиком этого физического соединения. Если объект PooledConnection недоступен, управляющий пулом вызывает метод ConnectionPoolDataSource getPoolConnection для создания нового физического соединения. JDBC-драйвер, реализующий ConnectionPoolDataSource, создаёт новый объект PooledConnection и возвращает обработчик к нему.

Когда приложение закрывает соединение, оно вызывает метод Connection close. При использовании пула соединений управляющий пулом уведомляется, поскольку он зарегистрировал себя как объект ConnectionEventListener с помощью метода ConnectionPool addConnectionEventListener. Управляющий пулом деактивирует обработчик объекта PooledConnection и возвращает объект PooledConnection в пул соединений, чтобы он мог быть использован снова. Таким образом, когда приложение закрывает своё соединение, базовое физическое соединение повторно используется, а не закрывается.

Физическое соединение не закрывается до тех пор, пока управляющий пулом не вызовет метод PooledConnection close. Этот метод обычно вызывается для упорядоченного завершения работы сервера или если произошла критическая ошибка, сделавшая соединение непригодным для использования.

Управляющий пулом соединений часто также является управляющим пулом подготовленных запросов, поддерживая пул объектов PreparedStatement. Когда приложение закрывает подготовленный запрос, оно вызывает метод PreparedStatement close. При использовании пула подготовленных запросов управляющий пулом уведомляется, так как он зарегистрировал себя как объект Statement с помощью метода ConnectionPool addStatementEventListener. Таким образом, при закрытии приложения PreparedStatement, базовый подготовленный запрос повторно используется, а не закрывается.

С:
1.4

Методы

Модификатор и тип Метод и описание
void addConnectionEventListener(ConnectionEventListener listener)

Регистрирует заданный обработчик событий, чтобы он получал уведомления об событиях, происходящих в этом объекте PooledConnection.

void addStatementEventListener(StatementEventListener listener)

Регистрирует StatementEventListener с этим объектом PooledConnection.

void close()

Закрывает физическое соединение, которое представляет этот объект PooledConnection.

Connection getConnection()

Создаёт и возвращает объект Connection, который является обработчиком физического соединения, которое представляет этот объект PooledConnection.

void removeConnectionEventListener(ConnectionEventListener listener)

Удаляет заданный обработчик событий из списка компонентов, которые будут получать уведомления об событиях, происходящих в этом объекте PooledConnection.

void removeStatementEventListener(StatementEventListener listener)

Удаляет указанный StatementEventListener из списка компонентов, которые будут получать уведомления, когда драйвер обнаружит, что PreparedStatement был закрыт или недействителен.

Методы

getConnection

Connection getConnection()
                  throws SQLException

Создаёт и возвращает объект Connection, который является обработчиком физического соединения, которое представляет этот объект PooledConnection . Управляющий пулом соединений вызывает этот метод, когда приложение вызвало метод DataSource.getConnection и доступны объекты PooledConnection.

Подробнее см. interface description.

Возвращает:
объект Connection, который является обработчиком этого объекта PooledConnection
Исключения:
SQLException - если произошла ошибка доступа к базе данных
SQLFeatureNotSupportedException - если JDBC-драйвер не поддерживает этот метод
С:
1.4

close

void close()
    throws SQLException

Закрывает физическое соединение, которое представляет этот объект PooledConnection. Приложение никогда не вызывает этот метод напрямую; он вызывается модулем или менеджером пула соединений.

Подробнее см. interface description.

Исключения:
SQLException - если произошла ошибка доступа к базе данных
SQLFeatureNotSupportedException - если JDBC-драйвер не поддерживает этот метод
С:
1.4

addConnectionEventListener

void addConnectionEventListener(ConnectionEventListener listener)

Регистрирует заданный обработчик событий, чтобы он получал уведомления об событиях, происходящих в этом объекте PooledConnection.

Параметры:
listener - компонент, обычно управляющий пулом соединений, реализовавший интерфейс ConnectionEventListener и желающий получать уведомления при закрытии соединения или возникновении ошибки
См. также:
removeConnectionEventListener(javax.sql.ConnectionEventListener)

removeConnectionEventListener

void removeConnectionEventListener(ConnectionEventListener listener)

Удаляет заданный обработчик событий из списка компонентов, которые будут получать уведомления об событиях, происходящих в этом объекте PooledConnection.

Параметры:
listener - компонент, обычно управляющий пулом соединений, реализовавший интерфейс ConnectionEventListener и зарегистрированный в качестве слушателя с этим объектом PooledConnection
См. также:
addConnectionEventListener(javax.sql.ConnectionEventListener)

addStatementEventListener

void addStatementEventListener(StatementEventListener listener)

Регистрирует StatementEventListener с этим объектом PooledConnection. Компоненты, которые хотят получать уведомления о закрытии PreparedStatement, созданных соединением, или о выявлении их недействительности, могут использовать этот метод для регистрации StatementEventListener с этим объектом PooledConnection.

Параметры:
listener - компонент, реализующий интерфейс StatementEventListener, который необходимо зарегистрировать с этим объектом PooledConnection
С:
1.6

removeStatementEventListener

void removeStatementEventListener(StatementEventListener listener)

Удаляет указанный StatementEventListener из списка компонентов, которые будут получать уведомления, когда драйвер обнаружит, что PreparedStatement был закрыт или недействителен.

Параметры:
listener - компонент, реализующий интерфейс StatementEventListener, который ранее был зарегистрирован с этим объектом PooledConnection
С:
1.6

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API