Hitachi

Cosminexus V11 アプリケーションサーバ 機能解説 基本・開発編(EJBコンテナ)


2.17.2 非同期呼び出しでのトランザクションの扱い

Session Beanの非同期呼び出しでは,次のトランザクション属性だけが指定できます。

ただし,呼び出し元であるクライアントのトランザクションコンテキストは,非同期メソッドでは伝播されません。アプリケーション開発者は,伝播されたトランザクションコンテキストがないものとして扱う必要があります。例えば,Required属性が非同期メソッドに定義されていても,EJBコンテナではRequiresNew属性を指定した場合と同様に処理されます。

クライアントで指定した非同期メソッドでのトランザクション属性の指定と対応するトランザクションを次の表に示します。

表2‒57 クライアントで指定した非同期メソッドでのトランザクション属性の指定と対応するトランザクション

メソッドに指定したトランザクション属性

クライアントのトランザクション

非同期メソッドに関連づくトランザクション

NOT_SUPPORTED

なし

なし

T1

なし

REQUIRED

なし

T2

T1

T2

REQUIRES_NEW

なし

T2

T1

T2

SUPPORTS

なし

なし

T1

なし

NEVER

なし

なし

T1

なし

MANDATORY

なし

エラー

T1

エラー

(凡例)

なし:トランザクションの指定がない,またはトランザクションがない

T1:呼び出し元のクライアントが設定したトランザクション

T2:EJBコンテナによって開始された新しいトランザクション