クラス ConnectionHolder
java.lang.ObjectSE
org.springframework.transaction.support.ResourceHolderSupport
org.springframework.jdbc.datasource.ConnectionHolder
- 実装されているすべてのインターフェース:
ResourceHolder
JDBC
ConnectionSE をラップするリソースホルダー。DataSourceTransactionManager は、特定の DataSourceSE について、このクラスのインスタンスをスレッドにバインドします。ネストされた 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 を作成します。メソッドのサマリー
修飾子と型メソッド説明voidclear()このリソースホルダーのトランザクション状態をクリアします。接続に固有の生成されたセーブポイント名を使用して、現在の接続に新しい JDBC 3.0 セーブポイントを作成します。この ConnectionHolder によって保持されている現在の接続を返します。この ConnectionHolder が保持する ConnectionHandle を返します。protected booleanこのホルダーが現在接続を持っているかどうかを返します。protected booleanこのホルダーがアクティブな JDBC 管理のトランザクションを表すかどうかを返します。voidreleased()この ConnectionHolder によって保持されている現在の接続を解放します。protected voidsetConnection(ConnectionSE connection) 既存の接続ハンドルを指定された接続でオーバーライドします。protected voidsetTransactionActive(boolean transactionActive) このホルダーがアクティブな JDBC 管理トランザクションを表すかどうかを設定します。booleanJDBC 3.0 セーブポイントがサポートされているかどうかを返します。クラス 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 3.0 セーブポイントがサポートされているかどうかを返します。この ConnectionHolder の存続期間中、フラグをキャッシュします。- 例外:
SQLExceptionSE- JDBC ドライバーによってスローされた場合
createSavepoint
接続に固有の生成されたセーブポイント名を使用して、現在の接続に新しい JDBC 3.0 セーブポイントを作成します。- 戻り値:
- 新しいセーブポイント
- 例外:
SQLExceptionSE- JDBC ドライバーによってスローされた場合
released
public void released()この ConnectionHolder によって保持されている現在の接続を解放します。これは、" 接続借用 " を期待する ConnectionHandles で必要です。この場合、返された各接続は一時的にリースされるだけであり、データ操作が完了したら、同じトランザクション内の他の操作で接続を利用できるようにする必要があります。
- オーバーライド:
- クラス
ResourceHolderSupportのreleased
clear
public void clear()クラスからコピーされた説明:ResourceHolderSupportこのリソースホルダーのトランザクション状態をクリアします。- オーバーライド:
- クラス
ResourceHolderSupportのclear