Stay organized with collections
Save and categorize content based on your preferences.
StatementEventListener
public
interface
StatementEventListener
implements
EventListener
javax.sql.StatementEventListener
|
An object that registers to be notified of events that occur on PreparedStatements
that are in the Statement pool.
The JDBC 3.0 specification added the maxStatements
ConnectionPooledDataSource
property to provide a standard mechanism for
enabling the pooling of PreparedStatements
and to specify the size of the statement
pool. However, there was no way for a driver to notify an external
statement pool when a PreparedStatement
becomes invalid. For some databases, a
statement becomes invalid if a DDL operation is performed that affects the
table. For example an application may create a temporary table to do some work
on the table and then destroy it. It may later recreate the same table when
it is needed again. Some databases will invalidate any prepared statements
that reference the temporary table when the table is dropped.
Similar to the methods defined in the ConnectionEventListener
interface,
the driver will call the StatementEventListener.statementErrorOccurred
method prior to throwing any exceptions when it detects a statement is invalid.
The driver will also call the StatementEventListener.statementClosed
method when a PreparedStatement
is closed.
Methods which allow a component to register a StatementEventListener with a
PooledConnection
have been added to the PooledConnection
interface.
Summary
Public methods |
abstract
void
|
statementClosed(StatementEvent event)
The driver calls this method on all StatementEventListener s registered on the connection when it detects that a
PreparedStatement is closed.
|
abstract
void
|
statementErrorOccurred(StatementEvent event)
The driver calls this method on all StatementEventListener s
registered on the connection when it detects that a
PreparedStatement is invalid.
|
Public methods
statementClosed
public abstract void statementClosed (StatementEvent event)
The driver calls this method on all StatementEventListener
s registered on the connection when it detects that a
PreparedStatement
is closed.
Parameters |
event |
StatementEvent : an event object describing the source of
the event and that the PreparedStatement was closed. |
statementErrorOccurred
public abstract void statementErrorOccurred (StatementEvent event)
The driver calls this method on all StatementEventListener
s
registered on the connection when it detects that a
PreparedStatement
is invalid. The driver calls this method
just before it throws the SQLException
,
contained in the given event, to the application.
Parameters |
event |
StatementEvent : an event object describing the source of the event,
the statement that is invalid and the exception the
driver is about to throw. The source of the event is
the PooledConnection which the invalid PreparedStatement
is associated with.
|
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
[null,null,["Last updated 2025-02-10 UTC."],[],[],null,["# StatementEventListener\n\nAdded in [API level 9](/guide/topics/manifest/uses-sdk-element#ApiLevels) \n\nStatementEventListener\n======================\n\n\n`\npublic\n\n\ninterface\nStatementEventListener\n`\n\n\n`\n\n\nimplements\n\n`[EventListener](/reference/java/util/EventListener)`\n\n\n`\n\n|----------------------------------|\n| javax.sql.StatementEventListener |\n\n\u003cbr /\u003e\n\n*** ** * ** ***\n\nAn object that registers to be notified of events that occur on PreparedStatements\nthat are in the Statement pool.\n\n\nThe JDBC 3.0 specification added the maxStatements\n`ConnectionPooledDataSource` property to provide a standard mechanism for\nenabling the pooling of `PreparedStatements`\nand to specify the size of the statement\npool. However, there was no way for a driver to notify an external\nstatement pool when a `PreparedStatement` becomes invalid. For some databases, a\nstatement becomes invalid if a DDL operation is performed that affects the\ntable. For example an application may create a temporary table to do some work\non the table and then destroy it. It may later recreate the same table when\nit is needed again. Some databases will invalidate any prepared statements\nthat reference the temporary table when the table is dropped.\n\n\nSimilar to the methods defined in the `ConnectionEventListener` interface,\nthe driver will call the `StatementEventListener.statementErrorOccurred`\nmethod prior to throwing any exceptions when it detects a statement is invalid.\nThe driver will also call the `StatementEventListener.statementClosed`\nmethod when a `PreparedStatement` is closed.\n\n\nMethods which allow a component to register a StatementEventListener with a\n`PooledConnection` have been added to the `PooledConnection` interface.\n\n\u003cbr /\u003e\n\nSummary\n-------\n\n| ### Public methods ||\n|------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ` abstract void` | ` `[statementClosed](/reference/javax/sql/StatementEventListener#statementClosed(javax.sql.StatementEvent))`(`[StatementEvent](/reference/javax/sql/StatementEvent)` event) ` The driver calls this method on all `StatementEventListener`s registered on the connection when it detects that a `PreparedStatement` is closed. |\n| ` abstract void` | ` `[statementErrorOccurred](/reference/javax/sql/StatementEventListener#statementErrorOccurred(javax.sql.StatementEvent))`(`[StatementEvent](/reference/javax/sql/StatementEvent)` event) ` The driver calls this method on all `StatementEventListener`s registered on the connection when it detects that a `PreparedStatement` is invalid. |\n\nPublic methods\n--------------\n\n### statementClosed\n\nAdded in [API level 9](/guide/topics/manifest/uses-sdk-element#ApiLevels) \n\n```\npublic abstract void statementClosed (StatementEvent event)\n```\n\nThe driver calls this method on all `StatementEventListener`s registered on the connection when it detects that a\n`PreparedStatement` is closed.\n\n\u003cbr /\u003e\n\n| Parameters ||\n|---------|--------------------------------------------------------------------------------------------------------------------------|\n| `event` | `StatementEvent`: an event object describing the source of the event and that the `PreparedStatement` was closed. \u003cbr /\u003e |\n\n### statementErrorOccurred\n\nAdded in [API level 9](/guide/topics/manifest/uses-sdk-element#ApiLevels) \n\n```\npublic abstract void statementErrorOccurred (StatementEvent event)\n```\n\nThe driver calls this method on all `StatementEventListener`s\nregistered on the connection when it detects that a\n`PreparedStatement` is invalid. The driver calls this method\njust before it throws the `SQLException`,\ncontained in the given event, to the application.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Parameters ||\n|---------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `event` | `StatementEvent`: an event object describing the source of the event, the statement that is invalid and the exception the driver is about to throw. The source of the event is the `PooledConnection` which the invalid `PreparedStatement` is associated with. \u003cbr /\u003e |"]]