IPooledConnection 介面
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
一個提供連接池管理掛鉤的物件。
[Android.Runtime.Register("javax/sql/PooledConnection", "", "Javax.Sql.IPooledConnectionInvoker")]
public interface IPooledConnection : Android.Runtime.IJavaObject, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("javax/sql/PooledConnection", "", "Javax.Sql.IPooledConnectionInvoker")>]
type IPooledConnection = interface
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- 屬性
- 實作
備註
一個提供連接池管理掛鉤的物件。 物件 PooledConnection 代表與資料來源的物理連接。 該連接可回收而非在應用結束後關閉,從而減少所需連接的數量。
應用程式開發者不會直接使用 PooledConnection 介面;而是由管理連線池的中階基礎設施使用。
當應用程式呼叫方法 DataSource.getConnection時,會回傳一個 Connection 物件。 如果正在進行連線池,該 Connection 物件實際上是物件的 PooledConnection 一個柄,而物件則是實體連線。
連線池管理器,通常是應用程式伺服器,負責維護一個物件 PooledConnection 池。 如果 PooledConnection 池中有物件可用,連線池管理器會回傳一個 Connection 物件,作為該物理連線的句柄。 若無 PooledConnection 物件可用,連線池管理器會呼叫該 ConnectionPoolDataSource 方法 getPoolConnection 來建立新的實體連線。 JDBC 驅動程式實作 ConnectionPoolDataSource 時會建立一個新 PooledConnection 物件並回傳一個句柄。
當應用程式關閉連線時,會呼叫方法 Connectionclose。 當連線池進行時,連線池管理器會收到通知,因為它已使用方法ConnectionEventListenerConnectionPool註冊為addConnectionEventListener物件。 連線池管理器會停用該物件的 PooledConnection 句柄,並將物件回傳 PooledConnection 回連線池,以便再次使用。 因此,當應用程式關閉連接時,底層的物理連線會被回收,而非關閉。
直到連線池管理器呼叫 PooledConnection 該方法 close,實體連線才會被關閉。 此方法通常用於有序關閉伺服器,或因致命錯誤導致連線無法使用時使用。
連線池管理器通常也是陳述池管理器,負責維護一個物件池 PreparedStatement 。 當應用程式關閉一個已準備好的語句時,會呼叫該方法PreparedStatement。close 當Statement池化時,池管理器會收到通知,因為它已使用方法StatementEventListener註冊為物件ConnectionPool。addStatementEventListener 因此,當應用程式關閉其 PreparedStatement時,底層的預備陳述會被回收而非關閉。
在 1.4 版本加入。
的 javax.sql.PooledConnectionJava 檔。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
屬性
| 名稱 | Description |
|---|---|
| Connection |
建立與資料庫的連線。 |
| Handle |
取得底層 Android 物件的 JNI 值。 (繼承來源 IJavaObject) |
| JniIdentityHashCode |
回傳包裹實例的 |
| JniManagedPeerState |
管理貴族的狀況。 (繼承來源 IJavaPeerable) |
| JniObjectReferenceControlBlock |
一個提供連接池管理掛鉤的物件。 (繼承來源 IJavaPeerable) |
| JniPeerMembers |
成員存取與召喚支援。 (繼承來源 IJavaPeerable) |
| PeerReference |
回傳JniObjectReference包裹後的 Java 物件實例。 (繼承來源 IJavaPeerable) |
方法
| 名稱 | Description |
|---|---|
| AddConnectionEventListener(IConnectionEventListener) |
註冊指定事件監聽器,使其在該物件發生 |
| AddStatementEventListener(IStatementEventListener) |
用這個 |
| Close() |
關閉了這個 |
| Disposed() |
當實例被處理後才被召喚。 (繼承來源 IJavaPeerable) |
| DisposeUnlessReferenced() |
如果沒有未解決的參考資料,則 |
| Finalized() |
當實例完成後才會被通知。 (繼承來源 IJavaPeerable) |
| RemoveConnectionEventListener(IConnectionEventListener) |
將該事件監聽器從該物件發生 |
| RemoveStatementEventListener(IStatementEventListener) |
將指定的 |
| SetJniIdentityHashCode(Int32) |
將回傳的值設為 |
| SetJniManagedPeerState(JniManagedPeerStates) |
一個提供連接池管理掛鉤的物件。 (繼承來源 IJavaPeerable) |
| SetPeerReference(JniObjectReference) |
將回傳的值設為 |
| UnregisterFromRuntime() |
取消註冊此實例,讓執行時不會在未來 Java.Interop.JniRuntime+JniValueManager.PeekValue 的呼叫中回傳該實例。 (繼承來源 IJavaPeerable) |
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時間檢查的類型轉換。 |
| JavaCast<TResult>(IJavaObject) |
一個提供連接池管理掛鉤的物件。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |