新聞中心
PooledConnection

成都創(chuàng)新互聯(lián)公司是創(chuàng)新、創(chuàng)意、研發(fā)型一體的綜合型網(wǎng)站建設(shè)公司,自成立以來公司不斷探索創(chuàng)新,始終堅持為客戶提供滿意周到的服務(wù),在本地打下了良好的口碑,在過去的10多年時間我們累計服務(wù)了上千家以及全國政企客戶,如玻璃鋼坐凳等企業(yè)單位,完善的項目管理流程,嚴格把控項目進度與質(zhì)量監(jiān)控加上過硬的技術(shù)實力獲得客戶的一致稱譽。
public interface PooledConnection為連接池管理提供掛鉤的對象。 PooledConnection 對象表示與數(shù)據(jù)源的物理連接。 當應(yīng)用程序完成連接時,連接可以被回收而不是關(guān)閉,從而減少需要建立的連接數(shù)量。
應(yīng)用程序程序員不直接使用 PooledConnection 接口; 相反,它由管理連接池的中間層基礎(chǔ)設(shè)施使用。
當應(yīng)用程序調(diào)用 DataSource.getConnection 方法時,它會返回一個 Connection 對象。 如果正在進行連接池,則該 Connection 對象實際上是 PooledConnection 對象的句柄,它是一個物理連接。
連接池管理器(通常是應(yīng)用程序服務(wù)器)維護一個 PooledConnection 對象池。如果池中有可用的 PooledConnection 對象,則連接池管理器會返回一個 Connection 對象,該對象是該物理連接的句柄。如果沒有可用的 PooledConnection 對象,則連接池管理器調(diào)用 ConnectionPoolDataSource 方法 getPoolConnection 來創(chuàng)建新的物理連接。實現(xiàn) ConnectionPoolDataSource 的 JDBC 驅(qū)動程序創(chuàng)建一個新的 PooledConnection 對象并返回一個句柄。
當應(yīng)用程序關(guān)閉連接時,它會調(diào)用 Connection 方法 close。完成連接池時,會通知連接池管理器,因為它已使用 ConnectionPool 方法 addConnectionEventListener 將自己注冊為 ConnectionEventListener 對象。連接池管理器停用 PooledConnection 對象的句柄并將 PooledConnection 對象返回到連接池,以便可以再次使用它。因此,當應(yīng)用程序關(guān)閉其連接時,底層物理連接將被回收而不是被關(guān)閉。
在連接池管理器調(diào)用 PooledConnection 方法關(guān)閉之前,物理連接不會關(guān)閉。 通常調(diào)用此方法以有序關(guān)閉服務(wù)器,或者如果致命錯誤導(dǎo)致連接不可用。
連接池管理器通常也是語句池管理器,維護 PreparedStatement 對象池。 當應(yīng)用程序關(guān)閉準備好的語句時,它會調(diào)用 PreparedStatement 方法 close。 當語句池完成時,池管理器會收到通知,因為它已使用 ConnectionPool 方法 addStatementEventListener 將自己注冊為 StatementEventListener 對象。 因此,當應(yīng)用程序關(guān)閉其 PreparedStatement 時,底層的準備好的語句被回收而不是被關(guān)閉。
Since:
1.4
方法總結(jié)
| 修飾符和類型 | 方法 | 描述 |
|---|---|---|
| void | addConnectionEventListener(ConnectionEventListener listener) | 注冊給定的事件偵聽器,以便在此 PooledConnection 對象上發(fā)生事件時通知它。 |
| void | addStatementEventListener(StatementEventListener listener) | 使用此 PooledConnection 對象注冊 StatementEventListener。 |
| void | close() | 關(guān)閉此 PooledConnection 對象表示的物理連接。 |
| Connection | getConnection() | 創(chuàng)建并返回一個 Connection 對象,該對象是此 PooledConnection 對象表示的物理連接的句柄。 |
| void | removeConnectionEventListener(ConnectionEventListener listener) | 當此 PooledConnection 對象上發(fā)生事件時,從將通知的組件列表中刪除給定的事件偵聽器。 |
| void | removeStatementEventListener(StatementEventListener listener) | 當驅(qū)動程序檢測到 PreparedStatement 已關(guān)閉或無效時,將通知的組件列表中刪除指定的 StatementEventListener。 |
方法詳情
getConnection
Connection getConnection() throws SQLException
創(chuàng)建并返回一個 Connection 對象,該對象是此 PooledConnection 對象表示的物理連接的句柄。 當應(yīng)用程序調(diào)用了 DataSource.getConnection 方法并且沒有可用的 PooledConnection 對象時,連接池管理器調(diào)用此方法。 有關(guān)更多信息,請參閱 PooledConnection。
返回:
一個 Connection 對象,它是此 PooledConnection 對象的句柄
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| SQLException | 如果發(fā)生數(shù)據(jù)庫訪問錯誤 |
| SQLFeatureNotSupportedException | 如果 JDBC 驅(qū)動程序不支持此方法 |
Since:
1.4
close
void close() throws SQLException
關(guān)閉此 PooledConnection 對象表示的物理連接。 應(yīng)用程序從不直接調(diào)用此方法; 它由連接池模塊或管理器調(diào)用。
Throws:
| Throw名稱 | Throw描述 |
|---|---|
| SQLException | 如果發(fā)生數(shù)據(jù)庫訪問錯誤 |
| SQLFeatureNotSupportedException | 如果 JDBC 驅(qū)動程序不支持此方法 |
Since:
1.4
addConnectionEventListener
void addConnectionEventListener(ConnectionEventListener listener)
注冊給定的事件偵聽器,以便在此 PooledConnection 對象上發(fā)生事件時通知它。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| listener | 一個組件,通常是連接池管理器,它實現(xiàn)了 ConnectionEventListener 接口,并希望在連接關(guān)閉或出現(xiàn)錯誤時得到通知 |
removeConnectionEventListener
void removeConnectionEventListener(ConnectionEventListener listener)
當此 PooledConnection 對象上發(fā)生事件時,從將通知的組件列表中刪除給定的事件偵聽器。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| listener | 一個組件,通常是連接池管理器,它已經(jīng)實現(xiàn)了 ConnectionEventListener 接口并作為偵聽器注冊到此 PooledConnection 對象中 |
addStatementEventListener
void addStatementEventListener(StatementEventListener listener)
使用此 PooledConnection 對象注冊 StatementEventListener。 希望在連接創(chuàng)建的 PreparedStatements 關(guān)閉或檢測到無效時收到通知的組件可以使用此方法向此 PooledConnection 對象注冊 StatementEventListener。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| listener | 一個實現(xiàn) StatementEventListener 接口的組件,該接口將使用此 PooledConnection 對象注冊 |
Since:
1.6
removeStatementEventListener
void removeStatementEventListener(StatementEventListener listener)
當驅(qū)動程序檢測到 PreparedStatement 已關(guān)閉或無效時,將通知的組件列表中刪除指定的 StatementEventListener。
參數(shù):
| 參數(shù)名稱 | 參數(shù)描述 |
|---|---|
| listener | 實現(xiàn)先前使用此 PooledConnection 對象注冊的 StatementEventListener 接口的組件 |
Since:
1.6
當前文章:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OSPooledConnection
文章位置:http://m.fisionsoft.com.cn/article/cohoihd.html


咨詢
建站咨詢
