パッケージ jakarta.jms

インターフェース XAJMSContext

すべてのスーパーインターフェース:
AutoCloseableSEJMSContext

public interface XAJMSContext extends JMSContext
XAJMSContext インターフェースは、Jakarta Messaging プロバイダーの Java Transaction API(JTA)(オプション)のサポートへのアクセスを追加することにより、JMSContext の機能を継承します。このサポートは、javax.transaction.xa.XAResource オブジェクトの形式を取ります。このオブジェクトの機能は、標準の X/Open XA Resource インターフェースで定義されている機能とよく似ています。

アプリケーションサーバーは、XAResource を取得することにより、XASession のトランザクション割り当てを制御します。XAResource を使用して、セッションをトランザクションに割り当てたり、トランザクションの作業を準備してコミットしたりします。

XAResource は、複数のトランザクションで作業をインターリーブしたり、進行中のトランザクションのリストを回復したりするためのかなり洗練された機能を提供します。JTA 対応の Jakarta Messaging プロバイダーは、この機能を完全に実装する必要があります。これは、XA をサポートするデータベースのサービスを使用して行うことができます。または、Jakarta Messaging プロバイダーは、この機能を最初から実装することを選択できます。

アプリケーションサーバーのクライアントには、通常の JMSContext であると思われるものが与えられます。背後では、アプリケーションサーバーが基になる XAJMSContext のトランザクション管理を制御します。

XAJMSContext インターフェースはオプションです。Jakarta Messaging プロバイダーは、このインターフェースをサポートする必要はありません。このインターフェースは、トランザクション環境をサポートするために Jakarta Messaging プロバイダーが使用するためのものです。クライアントプログラムでは、これらの XA インターフェースを直接使用するのではなく、環境で利用可能なトランザクションサポートを使用することを強くお勧めします。

導入:
JMS 2.0
バージョン:
Jakarta Messaging 2.0
  • メソッドの詳細

    • getContext

      JMSContext getContext()
      この XAJMSContext に関連付けられた JMSContext オブジェクトを返します。
      戻り値:
      この XAJMSContext に関連付けられた JMSContext オブジェクト
    • getXAResource

      XAResourceSE getXAResource()
      呼び出し元に XAResource を返します。
      戻り値:
      XAResource
    • getTransacted

      boolean getTransacted()
      セッションがトランザクションモードかどうかを返します。このメソッドは常に true を返します。
      次で指定:
      インターフェース JMSContextgetTransacted 
      戻り値:
      true
    • commit

      void commit()
      XAJMSContext オブジェクトに対して呼び出されるべきではないため、TransactionInProgressRuntimeException をスローします。
      次で指定:
      インターフェース JMSContextcommit 
      例外:
      TransactionInProgressRuntimeException - メソッドが XAJMSContext で呼び出された場合。
    • rollback

      void rollback()
      XAJMSContext オブジェクトに対して呼び出されるべきではないため、TransactionInProgressRuntimeException をスローします。
      次で指定:
      インターフェース JMSContextrollback 
      例外:
      TransactionInProgressRuntimeException - メソッドが XAJMSContext で呼び出された場合。