- すべてのスーパー・インタフェース:
EventListener
public interface StatementEventListener extends EventListener
Statementプール内のPreparedStatementで発生したイベントの通知を受けるように登録されているオブジェクトです。
PreparedStatements
のプールを有効にする標準のメカニズムを提供し、文のプールのサイズを指定する目的で、JDBC 3.0仕様に、maxStatementsのConnectionPooledDataSource
プロパティが追加されました。 ただし、PreparedStatement
が無効になった場合に、ドライバが外部の文のプールに通知する手段はありませんでした。 一部のデータベースでは、テーブルに影響を及ぼすDDL処理が実行されると、文が無効になります。 たとえば、テーブルに対してなんらかの処理を実行する際、一時テーブルを作成して破棄するようなアプリケーションがあるとします。 このアプリケーションは、あとで必要になったときに、同じテーブルを再度作成する可能性があります。 一部のデータベースは、一時テーブルが破棄されると、この一時テーブルを参照する用意された文を無効にします。
ConnectionEventListener
インタフェースで定義されているメソッドと同様に、ドライバは、文が無効であることを検出すると、例外をスローする前にStatementEventListener.statementErrorOccurred
メソッドを呼び出します。 PreparedStatement
が閉じられると、ドライバは、さらにStatementEventListener.statementClosed
メソッドを呼び出します。
PooledConnection
インタフェースには、コンポーネントがPooledConnection
にStatementEventListenerを登録することを許可するメソッドが追加されています。
- 導入されたバージョン:
- 1.6
-
メソッドのサマリー
修飾子と型メソッド説明void
statementClosed
(StatementEvent event) ドライバは、PreparedStatement
が閉じられたことを検出すると、接続上の登録されているすべてのStatementEventListener
で、このメソッドを呼び出します。void
ドライバは、PreparedStatement
が無効であることを検出すると、接続上の登録されているすべてのStatementEventListener
で、このメソッドを呼び出します。
-
メソッドの詳細
-
statementClosed
void statementClosed(StatementEvent event) ドライバは、PreparedStatement
が閉じられたことを検出すると、接続上の登録されているすべてのStatementEventListener
で、このメソッドを呼び出します。- パラメータ:
event
- イベントのソースと、PreparedStatement
が閉じられたことを記述するイベント・オブジェクト。- 導入されたバージョン:
- 1.6
-
statementErrorOccurred
void statementErrorOccurred(StatementEvent event) ドライバは、PreparedStatement
が無効であることを検出すると、接続上の登録されているすべてのStatementEventListener
で、このメソッドを呼び出します。 ドライバは、指定されたイベントに含まれるSQLException
をアプリケーションにスローする直前に、このメソッドを呼び出します。- パラメータ:
event
- イベントのソース、無効な文、およびドライバがスローしようとしている例外を記述するイベント・オブジェクト。 イベントのソースは、無効なPreparedStatement
が関連付けられているPooledConnection
。- 導入されたバージョン:
- 1.6
-