クラス TransactionAwareConnectionFactoryProxy

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

public class TransactionAwareConnectionFactoryProxy extends ObjectSE implements ConnectionFactoryEE, QueueConnectionFactoryEE, TopicConnectionFactoryEE
ターゲット JMS ConnectionFactoryEE のプロキシ。Spring 管理のトランザクションの認識を追加します。Jakarta EE アプリケーションサーバーによって提供されるトランザクション JNDI ConnectionFactory に似ています。

Spring の JMS サポートを認識しないままにする必要があるメッセージングコードは、このプロキシと連携して、Spring 管理のトランザクションにシームレスに参加できます。トランザクションマネージャー、たとえば JmsTransactionManager 、このプロキシではなく、基礎となる ConnectionFactory で動作する必要があることに注意してください。

TransactionAwareConnectionFactoryProxy が ConnectionFactory プロキシ / アダプターのチェーンの最も外側の ConnectionFactory であることを確認してください。TransactionAwareConnectionFactoryProxy は、ターゲットファクトリに直接委譲することも、UserCredentialsConnectionFactoryAdapter などの中間アダプターに委譲することもできます。

JmsTransactionManager によって管理されているスレッドバインドされたトランザクションに自動的に参加するための ConnectionFactoryUtils へのデリゲート。返されたセッションの createSession 呼び出しと close 呼び出しは、トランザクション内で適切に動作します。つまり、常にトランザクションセッションで動作します。トランザクション内にない場合、通常の ConnectionFactory の動作が適用されます。

トランザクション JMS セッションは、接続ごとに登録されることに注意してください。トランザクション間で同じ JMS セッションを共有するには、ハンドルを再利用するか、その SingleConnectionFactory を構成することにより、同じ JMS 接続ハンドルを操作するようにしてください。

返されたトランザクションセッションプロキシは、SessionProxy インターフェースを実装して、基になるターゲットセッションにアクセスできるようにします。これは、ベンダー固有のセッション API へのアクセスまたはテスト目的(手動のトランザクション制御を実行するなど)のみを目的としています。一般的なアプリケーションの目的には、標準の JMS セッションインターフェースを使用するだけです。

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

導入:
2.0
作成者:
Juergen Hoeller
関連事項:
  • コンストラクターの詳細

    • TransactionAwareConnectionFactoryProxy

      public TransactionAwareConnectionFactoryProxy()
      新しい TransactionAwareConnectionFactoryProxy を作成します。
    • TransactionAwareConnectionFactoryProxy

      public TransactionAwareConnectionFactoryProxy(ConnectionFactoryEE targetConnectionFactory)
      新しい TransactionAwareConnectionFactoryProxy を作成します。
      パラメーター:
      targetConnectionFactory - ターゲット ConnectionFactory
  • メソッドの詳細