Stay organized with collections
Save and categorize content based on your preferences.
StatementEventListener
interface StatementEventListener : EventListener
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 Unit |
The driver calls this method on all StatementEventListener s registered on the connection when it detects that a PreparedStatement is closed.
|
abstract Unit |
The driver calls this method on all StatementEventListener s registered on the connection when it detects that a PreparedStatement is invalid.
|
Public methods
statementClosed
abstract fun statementClosed(event: StatementEvent!): Unit
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
abstract fun statementErrorOccurred(event: StatementEvent!): Unit
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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-02-10 UTC."],[],[],null,["# StatementEventListener\n\nAdded in [API level 9](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)\n\nStatementEventListener\n======================\n\n```\ninterface StatementEventListener : EventListener\n```\n\n|---------------------------------------|\n| [javax.sql.StatementEventListener](#) |\n\nAn object that registers to be notified of events that occur on PreparedStatements that are in the Statement pool.\n\nThe 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.\n\nSimilar 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.\n\nMethods which allow a component to register a StatementEventListener with a `PooledConnection` have been added to the `PooledConnection` interface.\n\n\u003cbr /\u003e\n\nSummary\n-------\n\n| Public methods ||\n|---------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| abstract [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [statementClosed](#statementClosed(javax.sql.StatementEvent))`(`event:` `[StatementEvent](/reference/kotlin/javax/sql/StatementEvent)!`)` The driver calls this method on all `StatementEventListener`s registered on the connection when it detects that a `PreparedStatement` is closed. |\n| abstract [Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [statementErrorOccurred](#statementErrorOccurred(javax.sql.StatementEvent))`(`event:` `[StatementEvent](/reference/kotlin/javax/sql/StatementEvent)!`)` 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](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nabstract fun statementClosed(event: StatementEvent!): Unit\n```\n\nThe driver calls this method on all `StatementEventListener`s registered on the connection when it detects that a `PreparedStatement` is closed.\n\n| Parameters ||\n|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `event` | [StatementEvent](/reference/kotlin/javax/sql/StatementEvent)!: an event object describing the source of the event and that the `PreparedStatement` was closed. |\n\n### statementErrorOccurred\n\nAdded in [API level 9](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nabstract fun statementErrorOccurred(event: StatementEvent!): Unit\n```\n\nThe 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.\n\n\u003cbr /\u003e\n\n| Parameters ||\n|---------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `event` | [StatementEvent](/reference/kotlin/javax/sql/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 |"]]