Cosminexus 機能解説
Stateful Session Beanを実装するときの注意事項を示します。
同じSession Beanを同じJ2EEアプリケーション内でStateful Session Bean,およびStateless Session Beanとして同時に利用しないでください。
SessionSynchronizationのbeforeCompletionメソッドおよびafterCompletionメソッドでシステム例外が発生した場合,EJBコンテナでは該当するSession Beanのインスタンスを破棄しません。
ベーシックモードで,クライアントでトランザクション開始後にSessionSynchronizationのStateful Session Bean(トランザクション属性はRequiredまたはMandatory)を呼び出して,afterBeginメソッドまたはsetRollbackOnlyメソッドを呼び出すと,クライアントでのコミット時にbeforeCompletionメソッドが呼び出されません。1.4モードのときは,beforeCompletionメソッドが呼び出されます。
Stateful Session BeanのsetSessionContextメソッドでは,javax.transaction.UserTransactionのbeginメソッドを呼び出せる場合がありますが,EJBの仕様上,呼び出して使用することはできません。呼び出さないようにしてください。
J2EEサーバモードの動作モードとしてベーシックモードを使用している場合,Stateful Session BeanのbeforeCompletionメソッドからほかのEnterprise Beanは呼び出せません。ほかのEnterprise Beanを呼び出した場合,java.rmi.RemoteException例外が発生します。
Stateful Session BeanのafterCompletionメソッドからほかのEnterprise Beanを呼び出した場合,J2EEサーバモードの動作モードによって次の動作をします。
EJBの仕様上,Stateful Session BeanのafterCompletionメソッドからほかのEnterprise Beanを呼び出せないので,呼び出さないようにしてください。
All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.