パッケージ jakarta.jms

インターフェース XASession

  • すべてのスーパーインターフェース:
    AutoCloseableSERunnableSESession
    すべての既知のサブインターフェース:
    XAQueueSessionXATopicSession

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

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

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

    アプリケーションサーバーのクライアントには、通常の Jakarta Messaging Session と見なされるものが与えられます。バックグラウンドでは、アプリケーションサーバーが基盤となる XASession のトランザクション管理を制御します。

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

    導入:
    JMS 1.0
    バージョン:
    Jakarta Messaging 2.0
    関連事項:
    Session
    • メソッドの詳細

      • getSession

        Session getSession()
                    throws JMSException
        この XASession に関連付けられているセッションを取得します。
        戻り値:
        セッションオブジェクト
        例外:
        JMSException - 内部エラーが発生した場合。
        導入:
        JMS 1.1
      • getXAResource

        XAResourceSE getXAResource()
        XA リソースを呼び出し元に返します。
        戻り値:
        発信者への XA リソース
      • getTransacted

        boolean getTransacted()
                       throws JMSException
        セッションがトランザクションモードであるかどうかを示します。
        次で指定:
        インターフェース SessiongetTransacted 
        戻り値:
        true
        例外:
        JMSException - Jakarta Messaging プロバイダーが内部エラーのためにトランザクションモードを返せなかった場合
      • commit

        void commit()
             throws JMSException
        XASession オブジェクトに対して呼び出されるべきではないため、TransactionInProgressException をスローします。
        次で指定:
        インターフェース Sessioncommit 
        例外:
        TransactionInProgressException - メソッドが XASession で呼び出された場合。
        IllegalStateException -
        • セッションはローカルトランザクションを使用していません
        • このメソッドは、独自の Session CompletionListener コールバックメソッドによって呼び出されました
        JMSException - 内部エラーのために Jakarta Messaging プロバイダーがトランザクションのコミットに失敗した場合。
        TransactionRolledBackException - コミット中に何らかの内部エラーが発生してトランザクションがロールバックされた場合。
      • rollback

        void rollback()
               throws JMSException
        XASession オブジェクトに対して呼び出されるべきではないため、TransactionInProgressException をスローします。
        次で指定:
        インターフェース Sessionrollback 
        例外:
        TransactionInProgressException - メソッドが XASession で呼び出された場合。
        IllegalStateException -
        • セッションはローカルトランザクションを使用していません
        • このメソッドは、独自の Session CompletionListener コールバックメソッドによって呼び出されました
        JMSException - 内部エラーのために Jakarta Messaging プロバイダーがトランザクションのロールバックに失敗した場合。