- 所有超级接口:
-
EventListener
注册以通知发生在语句池中的 PreparedStatements 上的事件的对象。
JDBC 3.0 规范添加了 maxStatements ConnectionPooledDataSource
属性,以提供一种标准机制来启用 PreparedStatements
的池化,并指定语句池的大小。然而,驱动程序无法通知外部语句池当一个 PreparedStatement
变为无效时。对于一些数据库,如果执行影响表的 DDL 操作,语句将变为无效。例如,应用程序可能创建一个临时表来对表进行一些操作,然后销毁它。当需要时,它可能会重新创建相同的表。一些数据库在临时表被删除时会使引用临时表的任何准备语句无效。
类似于 ConnectionEventListener
接口中定义的方法,当驱动程序检测到语句无效时,驱动程序将在抛出任何异常之前调用 StatementEventListener.statementErrorOccurred
方法。当 PreparedStatement
被关闭时,驱动程序还将调用 StatementEventListener.statementClosed
方法。
允许组件向 PooledConnection
注册 StatementEventListener 的方法已添加到 PooledConnection
接口中。
- 自版本:
- 1.6
-
Method Summary
Modifier and TypeMethodDescriptionvoid
statementClosed
(StatementEvent event) 当驱动程序检测到PreparedStatement
被关闭时,它会调用连接上注册的所有StatementEventListener
的此方法。void
当驱动程序检测到PreparedStatement
无效时,它会调用连接上注册的所有StatementEventListener
的此方法。
-
Method Details
-
statementClosed
当驱动程序检测到PreparedStatement
被关闭时,它会调用连接上注册的所有StatementEventListener
的此方法。- 参数:
-
event
- 描述事件源和PreparedStatement
被关闭的事件对象。 - 自版本:
- 1.6
-
statementErrorOccurred
当驱动程序检测到PreparedStatement
无效时,它会在向应用程序抛出给定事件中包含的SQLException
之前调用连接上注册的所有StatementEventListener
的此方法。- 参数:
-
event
- 描述事件源、无效语句和驱动程序即将抛出的异常的事件对象。事件源是与无效PreparedStatement
关联的PooledConnection
。 - 自版本:
- 1.6
-