クラス UserCredentialsDataSourceAdapter
java.lang.ObjectSE
org.springframework.jdbc.datasource.DelegatingDataSource
org.springframework.jdbc.datasource.UserCredentialsDataSourceAdapter
- 実装されているすべてのインターフェース:
WrapperSE、CommonDataSourceSE、DataSourceSE、InitializingBean
- 既知の直属サブクラス
IsolationLevelDataSourceAdapter
ターゲット JDBC
DataSourceSE のアダプター。指定されたユーザー資格情報をすべての標準 getConnection() 呼び出しに適用し、ターゲットで getConnection(username, password) を暗黙的に呼び出します。他のすべてのメソッドは、ターゲット DataSource の対応するメソッドに委譲するだけです。 ユーザー資格情報が構成されていないターゲット JNDI DataSource をプロキシするために使用できます。クライアントコードは、標準の getConnection() 呼び出しを使用して、通常どおりこの DataSource で機能します。
次の例では、クライアントコードは、事前構成された "myDataSource" を透過的に操作し、指定されたユーザー資格情報を使用して "myTargetDataSource" に暗黙的にアクセスできます。
<bean id="myTargetDataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName" value="java:comp/env/jdbc/myds"/> </bean> <bean id="myDataSource" class="org.springframework.jdbc.datasource.UserCredentialsDataSourceAdapter"> <property name="targetDataSource" ref="myTargetDataSource"/> <property name="username" value="myusername"/> <property name="password" value="mypassword"/> </bean>
"username" が空の場合、このプロキシはターゲット DataSource の標準 getConnection() メソッドに委譲するだけです。これは、特定のターゲット DataSource で必要な場合に、ユーザー資格情報を暗黙的に渡すオプションだけのために、UserCredentialsDataSourceAdapter Bean 定義を保持するために使用できます。
- 導入:
- 1.0.2
- 作成者:
- Juergen Hoeller
- 関連事項:
コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明protected ConnectionSEdoGetConnection(StringSE username, StringSE password) この実装は、ターゲット DataSource のgetConnection(username, password)メソッドに委譲し、指定されたユーザー資格情報を渡します。現在スレッドにバインドされた資格情報があるかどうかを確認し、可能な場合はそれらを使用して、静的に指定されたユーザー名とパスワード(つまりgetConnection(StringSE username, StringSE password) 指定されたユーザー資格情報をそのままにして、doGetConnection(String, String)に委譲するだけです。void現在のスレッドからこのプロキシのユーザー資格情報を削除します。voidsetCatalog(StringSE catalog) 取得した各接続に適用するデータベースカタログを指定します。voidsetCredentialsForCurrentThread(StringSE username, StringSE password) このプロキシと現在のスレッドのユーザー資格情報を設定します。voidsetPassword(StringSE password) このアダプターが接続の取得に使用するデフォルトのユーザーのパスワードを設定します。void取得した各接続に適用するデータベーススキーマを指定します。voidsetUsername(StringSE username) このアダプターが接続の取得に使用するデフォルトのユーザー名を設定します。クラス org.springframework.jdbc.datasource.DelegatingDataSource から継承されたメソッド
afterPropertiesSet, createConnectionBuilder, createShardingKeyBuilder, getLoginTimeout, getLogWriter, getParentLogger, getTargetDataSource, isWrapperFor, obtainTargetDataSource, setLoginTimeout, setLogWriter, setTargetDataSource, unwrap
コンストラクターの詳細
UserCredentialsDataSourceAdapter
public UserCredentialsDataSourceAdapter()
メソッドの詳細
setUsername
このアダプターが接続の取得に使用するデフォルトのユーザー名を設定します。デフォルトは特定のユーザーではありません。明示的に指定されたユーザー名は、常に DataSource レベルで指定されたユーザー名 / パスワードを上書きすることに注意してください。
setPassword
このアダプターが接続の取得に使用するデフォルトのユーザーのパスワードを設定します。デフォルトは特定のパスワードではありません。明示的に指定されたユーザー名は、常に DataSource レベルで指定されたユーザー名 / パスワードを上書きすることに注意してください。
setCatalog
取得した各接続に適用するデータベースカタログを指定します。- 導入:
- 4.3.2
- 関連事項:
setSchema
取得した各接続に適用するデータベーススキーマを指定します。- 導入:
- 4.3.2
- 関連事項:
setCredentialsForCurrentThread
このプロキシと現在のスレッドのユーザー資格情報を設定します。指定されたユーザー名とパスワードは、この DataSource プロキシでの後続のすべてのgetConnection()呼び出しに適用されます。これにより、静的に指定されたユーザー資格情報、つまり "username" および "password" Bean プロパティの値が上書きされます。
- パラメーター:
username- 適用するユーザー名password- 適用するパスワード- 関連事項:
removeCredentialsFromCurrentThread
public void removeCredentialsFromCurrentThread()現在のスレッドからこのプロキシのユーザー資格情報を削除します。静的に指定されたユーザー資格情報は、その後再び適用されます。getConnection
現在スレッドにバインドされた資格情報があるかどうかを確認し、可能な場合はそれらを使用して、静的に指定されたユーザー名とパスワード(つまり、Bean プロパティの値)にフォールバックします。決定された資格情報をパラメーターとして
doGetConnection(String, String)に委譲します。- 次で指定:
- インターフェース
DataSourceSEのgetConnection - オーバーライド:
- クラス
DelegatingDataSourceのgetConnection - 例外:
SQLExceptionSE- 関連事項:
getConnection
指定されたユーザー資格情報をそのままにして、doGetConnection(String, String)に委譲するだけです。- 次で指定:
- インターフェース
DataSourceSEのgetConnectionSE - オーバーライド:
- クラス
DelegatingDataSourceのgetConnection - 例外:
SQLExceptionSE
doGetConnection
protected ConnectionSE doGetConnection(@Nullable StringSE username, @Nullable StringSE password) throws SQLExceptionSE この実装は、ターゲット DataSource のgetConnection(username, password)メソッドに委譲し、指定されたユーザー資格情報を渡します。指定されたユーザー名が空の場合、ターゲット DataSource の標準getConnection()メソッドに委譲するだけです。- パラメーター:
username- 使用するユーザー名password- 使用するパスワード- 戻り値:
- 接続
- 例外:
SQLExceptionSE- 関連事項: