クラス IsolationLevelDataSourceAdapter
- 実装されているすべてのインターフェース:
WrapperSE, CommonDataSourceSE, DataSourceSE, InitializingBean
getConnection 呼び出しに適用する、ターゲット DataSourceSE のアダプター。指定されている場合は、読み取り専用フラグも適用されます。目的の分離レベル(およびユーザー資格情報)が構成されていないターゲット JNDI DataSource をプロキシするために使用できます。クライアントコードは、通常のようにこの DataSource で機能し、そのような設定について心配する必要はありません。
スーパークラス UserCredentialsDataSourceAdapter から特定のユーザー資格情報を適用する機能を継承します。その機能の詳細については、後者の javadoc を参照してください (例: UserCredentialsDataSourceAdapter.setCredentialsForCurrentThread(String, String) )。
警告 : このアダプターは、そこから取得したすべての接続に対して Connection.setTransactionIsolation(int)SE および / または Connection.setReadOnly(boolean)SE を呼び出すだけです。ただし、これらの設定はリセットされません。ターゲット DataSource が接続プール処理の一部としてこのようなリセットを実行することを期待しています。 ターゲット DataSource がそのようなトランザクション状態を適切にクリーンアップすることを確認してください。
- 導入:
- 2.0.3
- 作成者:
- Juergen Hoeller, Sam Brannen
- 関連事項:
コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明protected ConnectionSEdoGetConnection(@Nullable StringSE username, @Nullable StringSE password) 現在の分離レベル値と読み取り専用フラグを、返された接続に適用します。現在の分離レベルを決定します: トランザクションの分離レベルまたは静的に定義された分離レベル。現在の読み取り専用フラグを決定します。デフォルトでは、トランザクションの読み取り専用ヒントです。静的に指定された分離レベルを返します。ない場合はnullを返します。voidsetIsolationLevel(int isolationLevel) JDBCConnectionSE 定数(対応する SpringTransactionDefinition定数に相当)に従って、接続の取得に使用するデフォルトの分離レベルを指定します。final voidsetIsolationLevelName(StringSE constantName) TransactionDefinitionの対応する定数の名前によってデフォルトの分離レベルを設定します。たとえば、"ISOLATION_SERIALIZABLE"。クラス UserCredentialsDataSourceAdapter から継承されたメソッド
getConnection, getConnection, removeCredentialsFromCurrentThread, setCatalog, setCredentialsForCurrentThread, setPassword, setSchema, setUsername
コンストラクターの詳細
IsolationLevelDataSourceAdapter
public IsolationLevelDataSourceAdapter()
メソッドの詳細
setIsolationLevelName
TransactionDefinitionの対応する定数の名前によってデフォルトの分離レベルを設定します。たとえば、"ISOLATION_SERIALIZABLE"。指定しない場合、ターゲット DataSource のデフォルトが使用されます。トランザクション固有の分離値は、DataSource レベルで指定された分離設定を常にオーバーライドすることに注意してください。
- パラメーター:
constantName- 定数の名前- 例外:
IllegalArgumentExceptionSE- 関連事項:
setIsolationLevel
public void setIsolationLevel(int isolationLevel) JDBCConnectionSE 定数(対応する SpringTransactionDefinition定数に相当)に従って、接続の取得に使用するデフォルトの分離レベルを指定します。指定しない場合、ターゲット DataSource のデフォルトが使用されます。トランザクション固有の分離値は、DataSource レベルで指定された分離設定を常にオーバーライドすることに注意してください。
- 関連事項:
getIsolationLevel
doGetConnection
protected ConnectionSE doGetConnection(@Nullable StringSE username, @Nullable StringSE password) throws SQLExceptionSE 現在の分離レベル値と読み取り専用フラグを、返された接続に適用します。- オーバーライド:
- クラス
UserCredentialsDataSourceAdapterのdoGetConnection - パラメーター:
username- 使用するユーザー名password- 使用するパスワード- 戻り値:
- 接続
- 例外:
SQLExceptionSE- 関連事項:
getCurrentIsolationLevel
getCurrentReadOnlyFlag