- 所有超级接口:
-
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 TypeMethodDescriptionvoidstatementClosed(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
-