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