クラス UserCredentialsConnectionFactoryAdapter

java.lang.ObjectSE
org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter
実装されたすべてのインターフェース:
ConnectionFactoryEEQueueConnectionFactoryEETopicConnectionFactoryEEInitializingBean

public class UserCredentialsConnectionFactoryAdapter extends ObjectSE implements ConnectionFactoryEE, QueueConnectionFactoryEE, TopicConnectionFactoryEE, InitializingBean
ターゲット JMS ConnectionFactoryEE のアダプター。指定されたユーザー資格情報を、認証にも使用できるすべての標準メソッド (この createConnection() および createContext()) に適用します。つまり、ターゲットで createConnection(username, password) または createContext(username, password) を暗黙的に呼び出します。他のすべてのメソッドは、ターゲット ConnectionFactory の対応するメソッドに委譲するだけです。

ユーザー資格情報が構成されていないターゲット JNDI ConnectionFactory をプロキシするために使用できます。クライアントコードは、すべての createConnection() および createContext() 呼び出しでユーザー名とパスワードを渡すことなく、ConnectionFactory で動作できます。

次の例では、クライアントコードは、事前構成された "myConnectionFactory" を透過的に操作し、指定されたユーザー資格情報を使用して "myTargetConnectionFactory" に暗黙的にアクセスできます。

 <bean id="myTargetConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
   <property name="jndiName" value="java:comp/env/jms/mycf"/>
 </bean>

 <bean id="myConnectionFactory" class="org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter">
   <property name="targetConnectionFactory" ref="myTargetConnectionFactory"/>
   <property name="username" value="myusername"/>
   <property name="password" value="mypassword"/>
 </bean>

"username" が空の場合、このプロキシはターゲット ConnectionFactory の標準 createConnection() または createContext() メソッドに委譲するだけです。これを使用すると、特定のターゲット ConnectionFactory で必要な場合にユーザー資格情報を暗黙的に渡すオプションのためだけに、UserCredentialsConnectionFactoryAdapter Bean 定義を保持できます。

Spring Framework 5 の時点で、このクラスは JMS 2.0 JMSContext 呼び出しを委譲するため、実行時に JMS 2.0 API が存在する必要があります。それでも、アプリケーションのセットアップによって実際の JMS 2.0 呼び出しがトリガーされない限り、JMS 1.1 ドライバー(JMS 2.0 API にバインドされている)に対して実行できます。

導入:
1.2
作成者:
Juergen Hoeller, Stephane Nicoll
関連事項: