パッケージ jakarta.jms
インターフェース XASession
- すべてのスーパーインターフェース:
AutoCloseableSE、RunnableSE、Session
- すべての既知のサブインターフェース:
XAQueueSession,XATopicSession
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
- 関連事項:
フィールドのサマリー
インターフェース jakarta.jms.Session から継承されたフィールド
AUTO_ACKNOWLEDGE, CLIENT_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE, SESSION_TRANSACTEDメソッドのサマリー
インターフェース jakarta.jms.Session から継承されたメソッド
close, createBrowser, createBrowser, createBytesMessage, createConsumer, createConsumer, createConsumer, createDurableConsumer, createDurableConsumer, createDurableSubscriber, createDurableSubscriber, createMapMessage, createMessage, createObjectMessage, createObjectMessage, createProducer, createQueue, createSharedConsumer, createSharedConsumer, createSharedDurableConsumer, createSharedDurableConsumer, createStreamMessage, createTemporaryQueue, createTemporaryTopic, createTextMessage, createTextMessage, createTopic, getAcknowledgeMode, getMessageListener, recover, run, setMessageListener, unsubscribe
メソッドの詳細
getSession
このXASessionに関連付けられているセッションを取得します。- 戻り値:
- セッションオブジェクト
- 例外:
JMSException- 内部エラーが発生した場合。- 導入:
- JMS 1.1
getXAResource
XAResourceSE getXAResource()XA リソースを呼び出し元に返します。- 戻り値:
- 呼び出し元への XA リソース
getTransacted
セッションがトランザクションモードであるかどうかを示します。- 次で指定:
- インターフェース
SessionのgetTransacted - 戻り値:
- true
- 例外:
JMSException- Jakarta Messaging プロバイダーが内部エラーのためにトランザクションモードを返せなかった場合
commit
XASessionオブジェクトに対して呼び出されるべきではないため、TransactionInProgressExceptionをスローします。- 次で指定:
- インターフェース
Sessionのcommit - 例外:
TransactionInProgressException- メソッドがXASessionで呼び出された場合。IllegalStateException-- セッションはローカルトランザクションを使用していません
- このメソッドは、独自の Session の CompletionListener コールバックメソッドによって呼び出されました
JMSException- 内部エラーのために Jakarta Messaging プロバイダーがトランザクションのコミットに失敗した場合。TransactionRolledBackException- コミット中に何らかの内部エラーが発生してトランザクションがロールバックされた場合。
rollback
XASessionオブジェクトに対して呼び出されるべきではないため、TransactionInProgressExceptionをスローします。- 次で指定:
- インターフェース
Sessionのrollback - 例外:
TransactionInProgressException- メソッドがXASessionで呼び出された場合。IllegalStateException-- セッションはローカルトランザクションを使用していません
- このメソッドは、独自の Session の CompletionListener コールバックメソッドによって呼び出されました
JMSException- 内部エラーのために Jakarta Messaging プロバイダーがトランザクションのロールバックに失敗した場合。