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