クラス ConnectionFactoryUtils
java.lang.ObjectSE
org.springframework.jms.connection.ConnectionFactoryUtils
JMS
ConnectionFactory を管理するためのヘルパークラス。特に、特定の ConnectionFactory のトランザクション JMS リソースを取得するためのヘルパークラスです。 主にフレームワーク内での内部使用のため。JmsTemplate および DefaultMessageListenerContainer で使用されます。
- 導入:
- 2.0
- 作成者:
- Juergen Hoeller
- 関連事項:
ネストされたクラスの要約
ネストされたクラスコンストラクターの概要
コンストラクター方法の概要
修飾子と型メソッド説明static @Nullable jakarta.jms.SessiondoGetTransactionalSession(jakarta.jms.ConnectionFactory connectionFactory, ConnectionFactoryUtils.ResourceFactory resourceFactory) 現在のトランザクションと同期している JMS セッションを取得します(ある場合)。static @Nullable jakarta.jms.SessiondoGetTransactionalSession(jakarta.jms.ConnectionFactory connectionFactory, ConnectionFactoryUtils.ResourceFactory resourceFactory, boolean startConnection) 現在のトランザクションと同期している JMS セッションを取得します(ある場合)。static jakarta.jms.SessiongetTargetSession(jakarta.jms.Session session) 指定されたセッションの最も内側のターゲットセッションを返します。static @Nullable jakarta.jms.QueueSessiongetTransactionalQueueSession(jakarta.jms.QueueConnectionFactory cf, @Nullable jakarta.jms.QueueConnection existingCon, boolean synchedLocalTransactionAllowed) 現在のトランザクションと同期されている JMS QueueSession を取得します(ある場合)。static @Nullable jakarta.jms.SessiongetTransactionalSession(jakarta.jms.ConnectionFactory cf, @Nullable jakarta.jms.Connection existingCon, boolean synchedLocalTransactionAllowed) 現在のトランザクションと同期している JMS セッションを取得します(ある場合)。static @Nullable jakarta.jms.TopicSessiongetTransactionalTopicSession(jakarta.jms.TopicConnectionFactory cf, @Nullable jakarta.jms.TopicConnection existingCon, boolean synchedLocalTransactionAllowed) 現在のトランザクションと同期されている JMS TopicSession を取得します(ある場合)。static booleanisSessionTransactional(@Nullable jakarta.jms.Session session, @Nullable jakarta.jms.ConnectionFactory cf) 指定された JMS セッションがトランザクション対応かどうか、つまり、Spring のトランザクション機能によって現在のスレッドにバインドされているかどうかを判断します。static voidreleaseConnection(@Nullable jakarta.jms.Connection con, @Nullable jakarta.jms.ConnectionFactory cf, boolean started) 指定された接続を解放し、必要に応じて停止し、最終的に閉じます。
コンストラクターの詳細
ConnectionFactoryUtils
public ConnectionFactoryUtils()
メソッドの詳細
releaseConnection
public static void releaseConnection(@Nullable jakarta.jms.Connection con, @Nullable jakarta.jms.ConnectionFactory cf, boolean started) 指定された接続を解放し、必要に応じて停止し、最終的に閉じます。SmartConnectionFactory.shouldStop(Connection)をチェックします(可能な場合)。これは本質的にJmsUtils.closeConnection(Connection)のより洗練されたバージョンです。- パラメーター:
con- リリースする接続 (これがnullの場合、呼び出しは無視されます)cf- 接続が取得された ConnectionFactory (nullの場合があります)started- 接続がアプリケーションによって開始された可能性があるかどうか- 関連事項:
getTargetSession
public static jakarta.jms.Session getTargetSession(jakarta.jms.Session session) 指定されたセッションの最も内側のターゲットセッションを返します。指定されたセッションがプロキシの場合、非プロキシセッションが見つかるまでラップ解除されます。それ以外の場合、渡されたセッションはそのまま返されます。- パラメーター:
session- アンラップするセッションプロキシ- 戻り値:
- 最も内側のターゲットセッション、またはプロキシがない場合は渡されたセッション
- 関連事項:
isSessionTransactional
public static boolean isSessionTransactional(@Nullable jakarta.jms.Session session, @Nullable jakarta.jms.ConnectionFactory cf) 指定された JMS セッションがトランザクション対応かどうか、つまり、Spring のトランザクション機能によって現在のスレッドにバインドされているかどうかを判断します。- パラメーター:
session- チェックする JMS セッションcf- セッションが発生した JMS ConnectionFactory- 戻り値:
- セッションがトランザクションかどうか
getTransactionalSession
public static @Nullable jakarta.jms.Session getTransactionalSession(jakarta.jms.ConnectionFactory cf, @Nullable jakarta.jms.Connection existingCon, boolean synchedLocalTransactionAllowed) throws jakarta.jms.JMSException 現在のトランザクションと同期している JMS セッションを取得します(ある場合)。- パラメーター:
cf- ConnectionFactory がセッションを取得するexistingCon- セッションを取得するための既存の JMS 接続 (nullの場合があります)synchedLocalTransactionAllowed- Spring 管理のトランザクション(メイントランザクションは特定の DataSource の JDBC ベースのトランザクションなど)と同期するローカル JMS トランザクションを許可するかどうか。JMS トランザクションはメイントランザクションの直後にコミットします。許可されていない場合、指定された ConnectionFactory はカバーでトランザクション登録を処理する必要があります。- 戻り値:
- トランザクションセッション、または見つからない場合は
null - 例外:
jakarta.jms.JMSException- JMS 障害の場合
getTransactionalQueueSession
public static @Nullable jakarta.jms.QueueSession getTransactionalQueueSession(jakarta.jms.QueueConnectionFactory cf, @Nullable jakarta.jms.QueueConnection existingCon, boolean synchedLocalTransactionAllowed) throws jakarta.jms.JMSException 現在のトランザクションと同期されている JMS QueueSession を取得します(ある場合)。主に JMS 1.0.2 API での使用を目的としています。
- パラメーター:
cf- ConnectionFactory がセッションを取得するexistingCon- セッションを取得するための既存の JMS 接続 (nullの場合があります)synchedLocalTransactionAllowed- Spring 管理のトランザクション(メイントランザクションは特定の DataSource の JDBC ベースのトランザクションなど)と同期するローカル JMS トランザクションを許可するかどうか。JMS トランザクションはメイントランザクションの直後にコミットします。許可されていない場合、指定された ConnectionFactory はカバーでトランザクション登録を処理する必要があります。- 戻り値:
- トランザクションセッション、または見つからない場合は
null - 例外:
jakarta.jms.JMSException- JMS 障害の場合
getTransactionalTopicSession
public static @Nullable jakarta.jms.TopicSession getTransactionalTopicSession(jakarta.jms.TopicConnectionFactory cf, @Nullable jakarta.jms.TopicConnection existingCon, boolean synchedLocalTransactionAllowed) throws jakarta.jms.JMSException 現在のトランザクションと同期されている JMS TopicSession を取得します(ある場合)。主に JMS 1.0.2 API での使用を目的としています。
- パラメーター:
cf- ConnectionFactory がセッションを取得するexistingCon- セッションを取得するための既存の JMS 接続 (nullの場合があります)synchedLocalTransactionAllowed- Spring 管理のトランザクション(メイントランザクションは特定の DataSource の JDBC ベースのトランザクションなど)と同期するローカル JMS トランザクションを許可するかどうか。JMS トランザクションはメイントランザクションの直後にコミットします。許可されていない場合、指定された ConnectionFactory はカバーでトランザクション登録を処理する必要があります。- 戻り値:
- トランザクションセッション、または見つからない場合は
null - 例外:
jakarta.jms.JMSException- JMS 障害の場合
doGetTransactionalSession
public static @Nullable jakarta.jms.Session doGetTransactionalSession(jakarta.jms.ConnectionFactory connectionFactory, ConnectionFactoryUtils.ResourceFactory resourceFactory) throws jakarta.jms.JMSException 現在のトランザクションと同期している JMS セッションを取得します(ある場合)。この
doGetTransactionalSessionバリアントは、メッセージの受信にセッションが使用されると想定して、常に基礎となる JMS 接続を開始します。- パラメーター:
connectionFactory- バインドする JMS ConnectionFactory (TransactionSynchronizationManager キーとして使用)resourceFactory- JMS リソースの抽出または作成に使用する ResourceFactory- 戻り値:
- トランザクションセッション、または見つからない場合は
null - 例外:
jakarta.jms.JMSException- JMS 障害の場合- 関連事項:
doGetTransactionalSession
public static @Nullable jakarta.jms.Session doGetTransactionalSession(jakarta.jms.ConnectionFactory connectionFactory, ConnectionFactoryUtils.ResourceFactory resourceFactory, boolean startConnection) throws jakarta.jms.JMSException 現在のトランザクションと同期している JMS セッションを取得します(ある場合)。- パラメーター:
connectionFactory- バインドする JMS ConnectionFactory (TransactionSynchronizationManager キーとして使用)resourceFactory- JMS リソースの抽出または作成に使用する ResourceFactorystartConnection- メッセージの受信を可能にするために、基盤となる JMS 接続アプローチを開始する必要があるかどうか。このフラグがfalseであっても、再利用された Connection は以前にすでに開始されている可能性があることに注意してください。- 戻り値:
- トランザクションセッション、または見つからない場合は
null - 例外:
jakarta.jms.JMSException- JMS 障害の場合