クラス ConnectionHolder
java.lang.ObjectSE
org.springframework.transaction.support.ResourceHolderSupport
org.springframework.jdbc.datasource.ConnectionHolder
- 実装されたすべてのインターフェース:
ResourceHolder
JDBC
Connection
SE をラップするリソースホルダー。DataSourceTransactionManager
は、特定の DataSource
SE について、このクラスのインスタンスをスレッドにバインドします。ネストされた JDBC トランザクションおよび参照カウント機能のロールバックのみのサポートを基本クラスから継承します。
メモ: これは SPI クラスであり、アプリケーションでの使用は意図されていません。
- 導入:
- 06.05.2003
- 作成者:
- Juergen Hoeller
- 関連事項:
フィールドサマリー
コンストラクターのサマリー
コンストラクター説明ConnectionHolder
(ConnectionSE connection) 進行中のトランザクションがないと想定して、指定された JDBC 接続用に新しい ConnectionHolder を作成し、それをSimpleConnectionHandle
でラップします。ConnectionHolder
(ConnectionSE connection, boolean transactionActive) 指定された JDBC 接続用に新しい ConnectionHolder を作成し、それをSimpleConnectionHandle
でラップします。ConnectionHolder
(ConnectionHandle connectionHandle) 指定された ConnectionHandle の新しい ConnectionHolder を作成します。方法の概要
修飾子と型メソッド説明void
clear()
このリソースホルダーのトランザクション状態をクリアします。接続に対して一意に生成されたセーブポイント名を使用して、現在の接続に対して新しい JDBC セーブポイントを作成します。この ConnectionHolder によって保持されている現在の接続を返します。この ConnectionHolder が保持する ConnectionHandle を返します。protected boolean
このホルダーが現在接続を持っているかどうかを返します。protected boolean
このホルダーがアクティブな JDBC 管理のトランザクションを表すかどうかを返します。void
released()
この ConnectionHolder によって保持されている現在の接続を解放します。protected void
setConnection
(ConnectionSE connection) 既存の接続ハンドルを指定された接続でオーバーライドします。protected void
setTransactionActive
(boolean transactionActive) このホルダーがアクティブな JDBC 管理トランザクションを表すかどうかを設定します。boolean
JDBC セーブポイントがサポートされているかどうかを返します。クラス org.springframework.transaction.support.ResourceHolderSupport から継承されたメソッド
getDeadline, getTimeToLiveInMillis, getTimeToLiveInSeconds, hasTimeout, isOpen, isRollbackOnly, isSynchronizedWithTransaction, isVoid, requested, reset, resetRollbackOnly, setRollbackOnly, setSynchronizedWithTransaction, setTimeoutInMillis, setTimeoutInSeconds, unbound
フィールドの詳細
SAVEPOINT_NAME_PREFIX
セーブポイント名の接頭辞。- 関連事項:
コンストラクターの詳細
ConnectionHolder
指定された ConnectionHandle の新しい ConnectionHolder を作成します。- パラメーター:
connectionHandle
- 保持する ConnectionHandle
ConnectionHolder
進行中のトランザクションがないと想定して、指定された JDBC 接続用に新しい ConnectionHolder を作成し、それをSimpleConnectionHandle
でラップします。- パラメーター:
connection
- 保持する JDBC 接続- 関連事項:
ConnectionHolder
指定された JDBC 接続用に新しい ConnectionHolder を作成し、それをSimpleConnectionHandle
でラップします。- パラメーター:
connection
- 保持する JDBC 接続transactionActive
- 指定された接続が進行中のトランザクションに関与しているかどうか- 関連事項:
メソッドの詳細
getConnectionHandle
この ConnectionHolder が保持する ConnectionHandle を返します。hasConnection
protected boolean hasConnection()このホルダーが現在接続を持っているかどうかを返します。setTransactionActive
protected void setTransactionActive(boolean transactionActive) このホルダーがアクティブな JDBC 管理トランザクションを表すかどうかを設定します。isTransactionActive
protected boolean isTransactionActive()このホルダーがアクティブな JDBC 管理のトランザクションを表すかどうかを返します。setConnection
既存の接続ハンドルを指定された接続でオーバーライドします。null
が指定されている場合、ハンドルをリセットします。サスペンド時に接続を解放し(
null
引数を使用)、再開時に新しい接続を設定するために使用されます。getConnection
この ConnectionHolder によって保持されている現在の接続を返します。これは、ConnectionHolder で
released
が呼び出されるまで同じ接続であり、保持されている接続をリセットし、オンデマンドで新しい接続をフェッチします。supportsSavepoints
JDBC セーブポイントがサポートされているかどうかを返します。この ConnectionHolder の存続期間中、フラグをキャッシュします。- 例外:
SQLExceptionSE
- JDBC ドライバーによってスローされた場合
createSavepoint
接続に対して一意に生成されたセーブポイント名を使用して、現在の接続に対して新しい JDBC セーブポイントを作成します。- 戻り値:
- 新しいセーブポイント
- 例外:
SQLExceptionSE
- JDBC ドライバーによってスローされた場合
released
public void released()この ConnectionHolder によって保持されている現在の接続を解放します。これは、" 接続借用 " を期待する ConnectionHandles で必要です。この場合、返された各接続は一時的にリースされるだけであり、データ操作が完了したら、同じトランザクション内の他の操作で接続を利用できるようにする必要があります。
- オーバーライド:
- クラス
ResourceHolderSupport
のreleased
clear
public void clear()クラスからコピーされた説明:ResourceHolderSupport
このリソースホルダーのトランザクション状態をクリアします。- オーバーライド:
- クラス
ResourceHolderSupport
のclear