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 インターフェースを直接使用するのではなく、環境で利用可能なトランザクションサポートを使用することを強くお勧めします。
Session
AUTO_ACKNOWLEDGE, CLIENT_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE, SESSION_TRANSACTED
修飾子と型 | メソッドと説明 |
---|---|
void | commit() XASession オブジェクトに対して呼び出されるべきではないため、TransactionInProgressException をスローします。 |
Session | getSession() この XASession に関連付けられているセッションを取得します。 |
boolean | getTransacted() セッションがトランザクションモードであるかどうかを示します。 |
XAResourceSE | getXAResource() XA リソースを呼び出し元に返します。 |
void | rollback() XASession オブジェクトに対して呼び出されるべきではないため、TransactionInProgressException をスローします。 |
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
Session getSession() throws JMSException
XASession
に関連付けられているセッションを取得します。JMSException
- 内部エラーが発生した場合。XAResourceSE getXAResource()
boolean getTransacted() throws JMSException
Session
の getTransacted
JMSException
- Jakarta Messaging プロバイダーが内部エラーのためにトランザクションモードを返せなかった場合 void commit() throws JMSException
XASession
オブジェクトに対して呼び出されるべきではないため、TransactionInProgressException
をスローします。Session
の commit
TransactionInProgressException
- メソッドが XASession
で呼び出された場合。IllegalStateException
-JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがトランザクションのコミットに失敗した場合。TransactionRolledBackException
- コミット中に何らかの内部エラーが発生してトランザクションがロールバックされた場合。void rollback() throws JMSException
XASession
オブジェクトに対して呼び出されるべきではないため、TransactionInProgressException
をスローします。Session
の rollback
TransactionInProgressException
- メソッドが XASession
で呼び出された場合。IllegalStateException
-JMSException
- 内部エラーのために Jakarta Messaging プロバイダーがトランザクションのロールバックに失敗した場合。Copyright © 2019 Eclipse Foundation.
Use is subject to license terms.