クラス UserCredentialsDataSourceAdapter
java.lang.ObjectSE
org.springframework.jdbc.datasource.DelegatingDataSource
org.springframework.jdbc.datasource.UserCredentialsDataSourceAdapter
- 実装されたすべてのインターフェース:
WrapperSE
、CommonDataSourceSE
、DataSourceSE
、InitializingBean
- 既知の直属サブクラス
IsolationLevelDataSourceAdapter
ターゲット JDBC
DataSource
SE のアダプター。指定されたユーザー資格情報をすべての標準 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 ConnectionSE
doGetConnection
(StringSE username, StringSE password) この実装は、ターゲット DataSource のgetConnection(username, password)
メソッドに委譲し、指定されたユーザー資格情報を渡します。現在スレッドにバインドされた資格情報があるかどうかを確認し、可能な場合はそれらを使用して、静的に指定されたユーザー名とパスワード(つまりgetConnection
(StringSE username, StringSE password) 指定されたユーザー資格情報をそのままにして、doGetConnection(String, String)
に委譲するだけです。void
現在のスレッドからこのプロキシのユーザー資格情報を削除します。void
setCatalog
(StringSE catalog) 取得した各接続に適用するデータベースカタログを指定します。void
setCredentialsForCurrentThread
(StringSE username, StringSE password) このプロキシと現在のスレッドのユーザー資格情報を設定します。void
setPassword
(StringSE password) このアダプターが接続の取得に使用するデフォルトのユーザーのパスワードを設定します。void
取得した各接続に適用するデータベーススキーマを指定します。void
setUsername
(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
- 関連事項: