public class UserCredentialsDataSourceAdapter extends DelegatingDataSource
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 定義を保持するために使用できます。
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, unwrap
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public 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
SQLExceptionSE
doGetConnection(java.lang.String, java.lang.String)
public ConnectionSE getConnection(StringSE username, StringSE password) throws SQLExceptionSE
doGetConnection(String, String)
に委譲するだけです。DataSourceSE
の getConnectionSE
DelegatingDataSource
の getConnection
SQLExceptionSE
protected ConnectionSE doGetConnection(@Nullable StringSE username, @Nullable StringSE password) throws SQLExceptionSE
getConnection(username, password)
メソッドに委譲し、指定されたユーザー資格情報を渡します。指定されたユーザー名が空の場合、ターゲット DataSource の標準 getConnection()
メソッドに委譲するだけです。username
- 使用するユーザー名 password
- 使用するパスワード SQLExceptionSE
DataSource.getConnection(String, String)
SE, DataSource.getConnection()
SE