パッケージ jakarta.jms
インターフェース XASession
- すべてのスーパーインターフェース:
AutoCloseableSE、RunnableSE、Session
- すべての既知のサブインターフェース:
XAQueueSession,XATopicSession
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
フィールドのサマリー
インターフェース jakarta.jms.Session から継承されたフィールド
AUTO_ACKNOWLEDGE, CLIENT_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE, SESSION_TRANSACTED
方法の概要
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 voidcommit()XASessionオブジェクトに対して呼び出されるべきではないため、TransactionInProgressExceptionをスローします。SessiongetSession()このXASessionに関連付けられているセッションを取得します。booleangetTransacted()セッションがトランザクションモードであるかどうかを示します。XAResourceSEgetXAResource()XA リソースを呼び出し元に返します。voidrollback()XASessionオブジェクトに対して呼び出されるべきではないため、TransactionInProgressExceptionをスローします。インターフェース 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
Session getSession() throws JMSException
このXASessionに関連付けられているセッションを取得します。- 戻り値:
- セッションオブジェクト
- 例外:
JMSException- 内部エラーが発生した場合。- 導入:
- JMS 1.1
getXAResource
XAResourceSE getXAResource()
XA リソースを呼び出し元に返します。- 戻り値:
- 呼び出し元への XA リソース
getTransacted
boolean getTransacted() throws JMSExceptionセッションがトランザクションモードであるかどうかを示します。- 次で指定:
- インターフェース
SessionのgetTransacted - 戻り値:
- true
- 例外:
JMSException- Jakarta Messaging プロバイダーが内部エラーのためにトランザクションモードを返せなかった場合
commit
void commit() throws JMSExceptionXASessionオブジェクトに対して呼び出されるべきではないため、TransactionInProgressExceptionをスローします。- 次で指定:
- インターフェース
Sessionのcommit - 例外:
TransactionInProgressException- メソッドがXASessionで呼び出された場合。IllegalStateException-- セッションはローカルトランザクションを使用していません
- このメソッドは、独自の Session の CompletionListener コールバックメソッドによって呼び出されました
JMSException- 内部エラーのために Jakarta Messaging プロバイダーがトランザクションのコミットに失敗した場合。TransactionRolledBackException- コミット中に何らかの内部エラーが発生してトランザクションがロールバックされた場合。
rollback
void rollback() throws JMSExceptionXASessionオブジェクトに対して呼び出されるべきではないため、TransactionInProgressExceptionをスローします。- 次で指定:
- インターフェース
Sessionのrollback - 例外:
TransactionInProgressException- メソッドがXASessionで呼び出された場合。IllegalStateException-- セッションはローカルトランザクションを使用していません
- このメソッドは、独自の Session の CompletionListener コールバックメソッドによって呼び出されました
JMSException- 内部エラーのために Jakarta Messaging プロバイダーがトランザクションのロールバックに失敗した場合。