public class UserCredentialsDataSourceAdapter extends DelegatingDataSource
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 定義を保持するために使用できます。
getConnection()| コンストラクターと説明 |
|---|
UserCredentialsDataSourceAdapter() |
| 修飾子と型 | メソッドと説明 |
|---|---|
protected ConnectionSE | doGetConnection(StringSE username, StringSE password) この実装は、ターゲット DataSource の getConnection(username, password) メソッドに委譲し、指定されたユーザー資格情報を渡します。 |
ConnectionSE | getConnection() 現在スレッドにバインドされた資格情報があるかどうかを確認し、可能な場合はそれらを使用して、静的に指定されたユーザー名とパスワード(つまり |
ConnectionSE | getConnection(StringSE username, StringSE password) 指定されたユーザー資格情報をそのままにして、 doGetConnection(String, String) に委譲するだけです。 |
void | removeCredentialsFromCurrentThread() 現在のスレッドからこのプロキシのユーザー資格情報を削除します。 |
void | setCatalog(StringSE catalog) 取得した各接続に適用するデータベースカタログを指定します。 |
void | setCredentialsForCurrentThread(StringSE username, StringSE password) このプロキシと現在のスレッドのユーザー資格情報を設定します。 |
void | setPassword(StringSE password) このアダプターが接続の取得に使用するデフォルトのユーザーのパスワードを設定します。 |
void | setSchema(StringSE schema) 取得した各接続に適用するデータベーススキーマを指定します。 |
void | setUsername(StringSE username) このアダプターが接続の取得に使用するデフォルトのユーザー名を設定します。 |
afterPropertiesSet, getLoginTimeout, getLogWriter, getParentLogger, getTargetDataSource, isWrapperFor, obtainTargetDataSource, setLoginTimeout, setLogWriter, setTargetDataSource, unwrapcloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEpublic void setUsername(StringSE username)
デフォルトは特定のユーザーではありません。明示的に指定されたユーザー名は、常に DataSource レベルで指定されたユーザー名 / パスワードを上書きすることに注意してください。
public void setPassword(StringSE password)
デフォルトは特定のパスワードではありません。明示的に指定されたユーザー名は、常に DataSource レベルで指定されたユーザー名 / パスワードを上書きすることに注意してください。
public void setCatalog(StringSE catalog)
Connection.setCatalog(java.lang.String)SEpublic void setSchema(StringSE schema)
Connection.setSchema(java.lang.String)SEpublic void setCredentialsForCurrentThread(StringSE username, StringSE password)
getConnection() 呼び出しに適用されます。これにより、静的に指定されたユーザー資格情報、つまり "username" および "password" Bean プロパティの値が上書きされます。
username - 適用するユーザー名 password - 適用するパスワード removeCredentialsFromCurrentThread()public void removeCredentialsFromCurrentThread()
public ConnectionSE getConnection() throws SQLExceptionSE
決定された資格情報をパラメーターとして doGetConnection(String, String) に委譲します。
DataSourceSE の getConnectionSE DelegatingDataSource の getConnection SQLExceptionSEdoGetConnection(java.lang.String, java.lang.String)public ConnectionSE getConnection(StringSE username, StringSE password) throws SQLExceptionSE
doGetConnection(String, String) に委譲するだけです。DataSourceSE の getConnectionSE DelegatingDataSource の getConnection SQLExceptionSEprotected ConnectionSE doGetConnection(@Nullable StringSE username, @Nullable StringSE password) throws SQLExceptionSE
getConnection(username, password) メソッドに委譲し、指定されたユーザー資格情報を渡します。指定されたユーザー名が空の場合、ターゲット DataSource の標準 getConnection() メソッドに委譲するだけです。username - 使用するユーザー名 password - 使用するパスワード SQLExceptionSEDataSource.getConnection(String, String)SE, DataSource.getConnection()SE