Интерфейс StatementEventListener
- Все суперинтерфейсы:
EventListener
public interface StatementEventListener extends EventListener
Объект, который регистрируется для получения уведомлений о событиях, происходящих на PreparedStatement, находящихся в пуле Statement.
Спецификация JDBC 3.0 добавила свойство maxStatements ConnectionPooledDataSource для предоставления стандартного механизма включения пула PreparedStatements и для указания размера пула заявок. Однако не было способа, чтобы драйвер уведомлял внешний пул заявок, когда PreparedStatement становится недействительным. Для некоторых баз данных запрос становится недействительным, если выполняется операция DDL, влияющая на таблицу. Например, приложение может создать временную таблицу для работы с таблицей и затем уничтожить её. Позже оно может воссоздать ту же таблицу, когда она снова понадобится. Некоторые базы данных аннулируют все подготовленные запросы, ссылающиеся на временную таблицу, при удалении таблицы.
Аналогично методам, определённым в интерфейсе ConnectionEventListener, драйвер вызовет метод StatementEventListener.statementErrorOccurred перед выбросом любых исключений, когда обнаружит, что запрос недействителен. Драйвер также вызовет метод StatementEventListener.statementClosed при закрытии PreparedStatement.
Методы, которые позволяют компоненту зарегистрировать StatementEventListener с PooledConnection, были добавлены в интерфейс PooledConnection.
- С момента:
- 1.6
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
statementClosed(StatementEvent event) |
Драйвер вызывает этот метод для всех |
void |
statementErrorOccurred(StatementEvent event) |
Драйвер вызывает этот метод для всех |
Методы
statementClosed
void statementClosed(StatementEvent event)
Драйвер вызывает этот метод для всех StatementEventListener зарегистрированных на соединении, когда обнаруживает, что PreparedStatement закрыт.
- Параметры:
-
event- объект события, описывающий источник события и то, чтоPreparedStatementбыл закрыт. - С момента:
- 1.6
statementErrorOccurred
void statementErrorOccurred(StatementEvent event)
Драйвер вызывает этот метод для всех StatementEventListener зарегистрированных на соединении, когда обнаруживает, что PreparedStatement недействителен. Драйвер вызывает этот метод непосредственно перед выбросом SQLException, содержащегося в данном событии, в приложение.
- Параметры:
-
event- объект события, описывающий источник события, недействительный запрос и исключение, которое драйвер собирается выбросить. Источником события являетсяPooledConnection, с которым связан недействительныйPreparedStatement. - С момента:
- 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.sql/javax/sql/StatementEventListener.html