|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
public interface PooledConnection
為連接池管理提供鉤子 (hook) 的物件。PooledConnection
物件表示到資料源的物理連接。該連接在應用程序使用完後可以回收而不用關閉,從而減少了需要建立連接的次數。
應用開發人員不直接使用 PooledConnection
介面,而是通過一個管理連接池的中間層基礎設施使用。
當應用程序調用 DataSource.getConnection
方法時,它取回 Connection
物件。如果連接池已完成,則該 Connection
物件實際上是到 PooledConnection
物件的句柄,這是一個物理連接。
連接池管理器(通常為應用程序伺服器)維護 PooledConnection
物件的池。如果在池中存在可用的 PooledConnection
物件,則連接池管理器返回作為到該物理連接的句柄的 Connection
物件。如果不存在可用的 PooledConnection
物件,則連接池管理器調用 ConnectionPoolDataSource
方法 getPoolConnection
創建新的物理連接。實作 ConnectionPoolDataSource
的 JDBC 驅動程序創建新的 PooledConnection
物件並返回一個到它的句柄。
當應用程序關閉連接時,它調用 Connection
方法 close
。完成連接池時,連接池管理器將得到通知;因為它曾使用 ConnectionPool
方法 addConnectionEventListener
作為 ConnectionEventListener
物件註冊它自身。連接池管理器釋放到 PooledConnection
物件的句柄,並將 PooledConnection
物件返回到連接池,以便再次使用。因此,當應用程序關閉其連接時,基礎物理連接會被回收而不是被關閉。
在連接池管理器調用 PooledConnection
方法 close
之前,物理連接不會被關閉。調用此方法通常是為了按順序關閉伺服器,也可能在發生了嚴重錯誤,導致連接變得不可用時調用。
連接池管理器通常也是一個語句池管理器,用於維護 PreparedStatement
物件的池。當應用程序關閉一個準備好的語句時,它調用 PreparedStatement
方法 close
。 當完成 Statement
池操作時,該池管理器獲得通知,因為它本身已使用 ConnectionPool
方法 addStatementEventListener
作為 StatementEventListener
物件註冊。 因此,當應用程序關閉其 PreparedStatement
時,底層準備好的語句會被回收而不是被關閉。
方法摘要 | |
---|---|
void |
addConnectionEventListener(ConnectionEventListener listener)
註冊給定的事件偵聽器,以便在此 PooledConnection 物件上發生事件時它將得到通知。 |
void |
addStatementEventListener(StatementEventListener listener)
向此 PooledConnection 物件註冊一個 StatementEventListener 。 |
void |
close()
關閉此 PooledConnection 物件表示的物理連接。 |
Connection |
getConnection()
創建並返回一個 Connection 物件,它是此 PooledConnection 物件表示的物理連接的句柄。 |
void |
removeConnectionEventListener(ConnectionEventListener listener)
從在此 PooledConnection 物件上發生事件時得到通知的元件所組成的列表中移除給定的事件偵聽器。 |
void |
removeStatementEventListener(StatementEventListener listener)
從一個元件列表中移除指定的 StatementEventListener ,該列表由驅動程序檢測到 PreparedStatement 已關閉或無效時將獲得通知的元件組成。 |
方法詳細資訊 |
---|
Connection getConnection() throws SQLException
Connection
物件,它是此 PooledConnection
物件表示的物理連接的句柄。當應用程序已經調用 DataSource.getConnection
方法但不存在可用的 PooledConnection
物件時,連接池管理器將調用此方法。有關更多資訊,請參閱介面描述
。
Connection
物件,它是到此 PooledConnection
物件的句柄
SQLException
- 如果發生資料庫存取錯誤
SQLFeatureNotSupportedException
- 如果 JDBC 驅動程序不支持此方法void close() throws SQLException
PooledConnection
物件表示的物理連接。應用程序永遠不會直接調用此方法;它由連接池模組或管理器調用。
有關更多資訊,請參閱介面描述
。
SQLException
- 如果發生資料庫存取錯誤
SQLFeatureNotSupportedException
- 如果 JDBC 驅動程序不支持此方法void addConnectionEventListener(ConnectionEventListener listener)
PooledConnection
物件上發生事件時它將得到通知。
listener
- 一個元件(通常為連接池管理器),它實作了 ConnectionEventListener
介面,並在關閉連接或發生錯誤時應得到通知removeConnectionEventListener(javax.sql.ConnectionEventListener)
void removeConnectionEventListener(ConnectionEventListener listener)
PooledConnection
物件上發生事件時得到通知的元件所組成的列表中移除給定的事件偵聽器。
listener
- 一個元件(通常為連接池管理器),它實作了 ConnectionEventListener
介面,並已作為偵聽器向此 PooledConnection
物件註冊addConnectionEventListener(javax.sql.ConnectionEventListener)
void addStatementEventListener(StatementEventListener listener)
PooledConnection
物件註冊一個 StatementEventListener
。該連接創建的 PreparedStatement
關閉或檢測為無效時希望獲得通知的元件可以使用此方法向此 PooledConnection
物件註冊一個 StatementEventListener
。
listener
- 實作將向此 PooledConnection
物件註冊的 StatementEventListener
介面的元件
void removeStatementEventListener(StatementEventListener listener)
StatementEventListener
,該列表由驅動程序檢測到 PreparedStatement
已關閉或無效時將獲得通知的元件組成。
listener
- 實作以前向此 PooledConnection
物件註冊的 StatementEventListener
介面的元件
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。