クラス IsolationLevelDataSourceAdapter
- 実装されているすべてのインターフェース:
WrapperSE、CommonDataSourceSE、DataSourceSE、InitializingBean
getConnection 呼び出しに適用する、ターゲット DataSourceSE のアダプター。指定されている場合は、読み取り専用フラグも適用されます。目的の分離レベル(およびユーザー資格情報)が構成されていないターゲット JNDI DataSource をプロキシするために使用できます。クライアントコードは、通常のようにこの DataSource で機能し、そのような設定について心配する必要はありません。
スーパークラス UserCredentialsDataSourceAdapter から特定のユーザー資格情報を適用する機能を継承します。その機能(UserCredentialsDataSourceAdapter.setCredentialsForCurrentThread(java.lang.String, java.lang.String) など)の詳細については、後者の javadoc を参照してください。
警告 : このアダプターは、そこから取得したすべての接続に対して Connection.setTransactionIsolation(int)SE および / または Connection.setReadOnly(boolean)SE を呼び出すだけです。ただし、これらの設定はリセットされません。ターゲット DataSource が接続プール処理の一部としてこのようなリセットを実行することを期待しています。 ターゲット DataSource がそのようなトランザクション状態を適切にクリーンアップすることを確認してください。
コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明protected ConnectionSEdoGetConnection(StringSE username, StringSE password) 現在の分離レベル値と読み取り専用フラグを、返された接続に適用します。protected IntegerSE現在の分離レベルを決定します: トランザクションの分離レベルまたは静的に定義された分離レベル。protected BooleanSE現在の読み取り専用フラグを決定します。デフォルトでは、トランザクションの読み取り専用ヒントです。protected IntegerSE静的に指定された分離レベルを返します。ない場合はnullを返します。voidsetIsolationLevel(int isolationLevel) JDBCConnectionSE 定数(対応する SpringTransactionDefinition定数に相当)に従って、接続の取得に使用するデフォルトの分離レベルを指定します。final voidsetIsolationLevelName(StringSE constantName) TransactionDefinitionの対応する定数の名前でデフォルトの分離レベルを設定します。クラス org.springframework.jdbc.datasource.UserCredentialsDataSourceAdapter から継承されたメソッド
getConnection, getConnection, removeCredentialsFromCurrentThread, setCatalog, setCredentialsForCurrentThread, setPassword, setSchema, setUsernameクラス org.springframework.jdbc.datasource.DelegatingDataSource から継承されたメソッド
afterPropertiesSet, getLoginTimeout, getLogWriter, getParentLogger, getTargetDataSource, isWrapperFor, obtainTargetDataSource, setLoginTimeout, setLogWriter, setTargetDataSource, unwrapクラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSEインターフェース javax.sql.CommonDataSourceSE から継承されたメソッド
createShardingKeyBuilderインターフェース javax.sql.DataSourceSE から継承されたメソッド
createConnectionBuilder
コンストラクターの詳細
IsolationLevelDataSourceAdapter
public IsolationLevelDataSourceAdapter()
メソッドの詳細
setIsolationLevelName
TransactionDefinitionの対応する定数の名前でデフォルトの分離レベルを設定します。"ISOLATION_SERIALIZABLE"。指定しない場合、ターゲット DataSource のデフォルトが使用されます。トランザクション固有の分離値は、DataSource レベルで指定された分離設定を常にオーバーライドすることに注意してください。
setIsolationLevel
public void setIsolationLevel(int isolationLevel) JDBCConnectionSE 定数(対応する SpringTransactionDefinition定数に相当)に従って、接続の取得に使用するデフォルトの分離レベルを指定します。指定しない場合、ターゲット DataSource のデフォルトが使用されます。トランザクション固有の分離値は、DataSource レベルで指定された分離設定を常にオーバーライドすることに注意してください。
- 関連事項:
Connection.TRANSACTION_READ_UNCOMMITTEDSEConnection.TRANSACTION_READ_COMMITTEDSEConnection.TRANSACTION_REPEATABLE_READSEConnection.TRANSACTION_SERIALIZABLESETransactionDefinition.ISOLATION_READ_UNCOMMITTEDTransactionDefinition.ISOLATION_READ_COMMITTEDTransactionDefinition.ISOLATION_REPEATABLE_READTransactionDefinition.ISOLATION_SERIALIZABLETransactionDefinition.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
現在の読み取り専用フラグを決定します。デフォルトでは、トランザクションの読み取り専用ヒントです。- 戻り値:
- 現在のスコープに読み取り専用のヒントがあるかどうか
- 関連事項: