クラス UserCredentialsConnectionFactoryAdapter
- 実装されているすべてのインターフェース:
jakarta.jms.ConnectionFactory, jakarta.jms.QueueConnectionFactory, jakarta.jms.TopicConnectionFactory, InitializingBean
ConnectionFactory 用のアダプター。指定されたユーザー資格情報を、認証にも使用できるすべての標準メソッド(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
- 関連事項:
コンストラクターの概要
コンストラクター方法の概要
修飾子と型メソッド説明voidfinal jakarta.jms.Connection現在スレッドにバインドされた資格情報があるかどうかを確認し、可能な場合はそれらを使用して、静的に指定されたユーザー名とパスワード(つまりjakarta.jms.ConnectioncreateConnection(StringSE username, StringSE password) 呼び出しをターゲット ConnectionFactory に直接委譲します。jakarta.jms.JMSContextjakarta.jms.JMSContextcreateContext(int sessionMode) jakarta.jms.JMSContextcreateContext(StringSE userName, StringSE password) jakarta.jms.JMSContextcreateContext(StringSE userName, StringSE password, int sessionMode) final jakarta.jms.QueueConnection現在スレッドにバインドされた資格情報があるかどうかを確認し、可能な場合はそれらを使用して、静的に指定されたユーザー名とパスワード(つまりjakarta.jms.QueueConnectioncreateQueueConnection(StringSE username, StringSE password) 呼び出しをターゲット QueueConnectionFactory に直接委譲します。final jakarta.jms.TopicConnection現在スレッドにバインドされた資格情報があるかどうかを確認し、可能な場合はそれらを使用して、静的に指定されたユーザー名とパスワード(つまりjakarta.jms.TopicConnectioncreateTopicConnection(StringSE username, StringSE password) 呼び出しをターゲット TopicConnectionFactory に直接委譲します。protected jakarta.jms.ConnectiondoCreateConnection(@Nullable StringSE username, @Nullable StringSE password) この実装は、ターゲット ConnectionFactory のcreateConnection(username, password)メソッドに委譲し、指定されたユーザー資格情報を渡します。protected jakarta.jms.JMSContextdoCreateContext(@Nullable StringSE username, @Nullable StringSE password) protected jakarta.jms.JMSContextdoCreateContext(@Nullable StringSE username, @Nullable StringSE password, int sessionMode) protected jakarta.jms.QueueConnectiondoCreateQueueConnection(@Nullable StringSE username, @Nullable StringSE password) この実装は、ターゲット QueueConnectionFactory のcreateQueueConnection(username, password)メソッドに委譲し、指定されたユーザー資格情報を渡します。protected jakarta.jms.TopicConnectiondoCreateTopicConnection(@Nullable StringSE username, @Nullable StringSE password) この実装は、ターゲット TopicConnectionFactory のcreateTopicConnection(username, password)メソッドに委譲し、指定されたユーザー資格情報を渡します。void現在のスレッドからこのプロキシのユーザー資格情報を削除します。voidsetCredentialsForCurrentThread(StringSE username, StringSE password) このプロキシと現在のスレッドのユーザー資格情報を設定します。voidsetPassword(StringSE password) このアダプターが接続の取得に使用するパスワードを設定します。voidsetTargetConnectionFactory(jakarta.jms.ConnectionFactory targetConnectionFactory) この ConnectionFactory が委譲するターゲット ConnectionFactory を設定します。voidsetUsername(StringSE username) このアダプターが接続の取得に使用するユーザー名を設定します。
コンストラクターの詳細
UserCredentialsConnectionFactoryAdapter
public UserCredentialsConnectionFactoryAdapter()
メソッドの詳細
setTargetConnectionFactory
public void setTargetConnectionFactory(jakarta.jms.ConnectionFactory targetConnectionFactory) この ConnectionFactory が委譲するターゲット ConnectionFactory を設定します。setUsername
このアダプターが接続の取得に使用するユーザー名を設定します。デフォルトは特定のユーザーなしです。setPassword
このアダプターが接続の取得に使用するパスワードを設定します。デフォルトは特定のパスワードなしです。afterPropertiesSet
public void afterPropertiesSet()インターフェースからコピーされた説明:InitializingBeanすべての Bean プロパティを設定し、BeanFactoryAware、ApplicationContextAwareなどを満たした後、包含BeanFactoryによって呼び出されます。このメソッドにより、Bean インスタンスは、すべての Bean プロパティが設定されたときに、その全体的な構成の検証と最終的な初期化を実行できます。
- 次で指定:
- インターフェース
InitializingBeanのafterPropertiesSet
setCredentialsForCurrentThread
このプロキシと現在のスレッドのユーザー資格情報を設定します。指定されたユーザー名とパスワードは、この ConnectionFactory プロキシでの後続のすべてのcreateConnection()呼び出しに適用されます。これにより、静的に指定されたユーザー資格情報、つまり "username" および "password" Bean プロパティの値が上書きされます。
- パラメーター:
username- 適用するユーザー名password- 適用するパスワード- 関連事項:
removeCredentialsFromCurrentThread
public void removeCredentialsFromCurrentThread()現在のスレッドからこのプロキシのユーザー資格情報を削除します。静的に指定されたユーザー資格情報は、その後再び適用されます。- 関連事項:
createConnection
public final jakarta.jms.Connection createConnection() throws jakarta.jms.JMSException現在スレッドにバインドされた資格情報があるかどうかを確認し、可能な場合はそれらを使用して、静的に指定されたユーザー名とパスワード(つまり、Bean プロパティの値)にフォールバックします。- 次で指定:
- インターフェース
jakarta.jms.ConnectionFactoryのcreateConnection - 例外:
jakarta.jms.JMSException- 関連事項:
createConnection
doCreateConnection
protected jakarta.jms.Connection doCreateConnection(@Nullable StringSE username, @Nullable StringSE password) throws jakarta.jms.JMSException この実装は、ターゲット ConnectionFactory のcreateConnection(username, password)メソッドに委譲し、指定されたユーザー資格情報を渡します。指定されたユーザー名が空の場合、ターゲット ConnectionFactory の標準createConnection()メソッドに委譲するだけです。- パラメーター:
username- 使用するユーザー名password- 使用するパスワード- 戻り値:
- 接続
- 例外:
jakarta.jms.JMSException- 関連事項:
createQueueConnection
public final jakarta.jms.QueueConnection createQueueConnection() throws jakarta.jms.JMSException現在スレッドにバインドされた資格情報があるかどうかを確認し、可能な場合はそれらを使用して、静的に指定されたユーザー名とパスワード(つまり、Bean プロパティの値)にフォールバックします。- 次で指定:
- インターフェース
jakarta.jms.QueueConnectionFactoryのcreateQueueConnection - 例外:
jakarta.jms.JMSException- 関連事項:
createQueueConnection
doCreateQueueConnection
protected jakarta.jms.QueueConnection doCreateQueueConnection(@Nullable StringSE username, @Nullable StringSE password) throws jakarta.jms.JMSException この実装は、ターゲット QueueConnectionFactory のcreateQueueConnection(username, password)メソッドに委譲し、指定されたユーザー資格情報を渡します。指定されたユーザー名が空の場合、ターゲット ConnectionFactory の標準createQueueConnection()メソッドに委譲するだけです。- パラメーター:
username- 使用するユーザー名password- 使用するパスワード- 戻り値:
- 接続
- 例外:
jakarta.jms.JMSException- 関連事項:
createTopicConnection
public final jakarta.jms.TopicConnection createTopicConnection() throws jakarta.jms.JMSException現在スレッドにバインドされた資格情報があるかどうかを確認し、可能な場合はそれらを使用して、静的に指定されたユーザー名とパスワード(つまり、Bean プロパティの値)にフォールバックします。- 次で指定:
- インターフェース
jakarta.jms.TopicConnectionFactoryのcreateTopicConnection - 例外:
jakarta.jms.JMSException- 関連事項:
createTopicConnection
doCreateTopicConnection
protected jakarta.jms.TopicConnection doCreateTopicConnection(@Nullable StringSE username, @Nullable StringSE password) throws jakarta.jms.JMSException この実装は、ターゲット TopicConnectionFactory のcreateTopicConnection(username, password)メソッドに委譲し、指定されたユーザー資格情報を渡します。指定されたユーザー名が空の場合、ターゲット ConnectionFactory の標準createTopicConnection()メソッドに委譲するだけです。- パラメーター:
username- 使用するユーザー名password- 使用するパスワード- 戻り値:
- 接続
- 例外:
jakarta.jms.JMSException- 関連事項:
createContext
public jakarta.jms.JMSContext createContext()- 次で指定:
- インターフェース
jakarta.jms.ConnectionFactoryのcreateContext
doCreateContext
createContext
createContext
createContext
public jakarta.jms.JMSContext createContext(int sessionMode) - 次で指定:
- インターフェース
jakarta.jms.ConnectionFactoryのcreateContext
doCreateContext