パッケージ 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
関連事項:
  • メソッドの詳細

    • 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 プロバイダーがトランザクションのロールバックに失敗した場合。