Apdesigner プログラマーズガイド |
目次 索引 |
第2部 アプリケーション開発編 | > 第3章 Enterprise JavaBeans (EJB)を開発する | > 3.3 EJBのプログラミング |
Session Beanでは、ejbCreateメソッド、ビジネスメソッドなどの処理を記述します。
以下にメソッドと記述する処理を示します。
メソッド |
処理 |
備考 |
---|---|---|
コンストラクタ |
|
フィールドの初期化処理などはejbCreateに記述し、コンストラクタには記述しません。 |
ejbCreate |
ビジネスメソッドを使用するための初期化処理を記述します。 |
|
setSessionContext |
引数に指定されたSessionContextを他のメソッドで利用できるようにSession Beanのフィールドとして保存します。 |
Enterprise Bean生成ウィザードでは、自動的に左記の処理を生成します。 |
ejbRemove |
ビジネスメソッドを使用後の終了時の処理を記述します。 |
|
ejbActivate |
活性化されたときの処理を記述します。 |
Interstage EJBサービスでは活性化/非活性化はサポートされていません。 |
ejbPassivate |
非活性化されたときの処理を記述します。 |
|
afterBegin |
新しいトランザクションが開始されたときの処理を記述します。 |
SessionSynchronizationインタフェースを実装する場合に必要なメソッドです。 |
BeforeCompletion |
トランザクションをコミットする前の処理を記述します。 |
|
afterCompletion |
トランザクションがコミットされた後またはロールバックされた後の処理を記述します。トランザクションがコミットされたか、ロールバックされたかは、メソッドの引数に渡されます。 |
|
ビジネスメソッド |
クライアントから呼び出されるメソッドの処理を記述します。 |
|
ここでは、Session Beanからデータベースアクセスする場合について説明します。
Session Beanからデータベースアクセスを行う場合、Session種別(STATEFUL、STATELESS)により注意する必要があります。
トランザクションの制御を行うには、javax.transaction.UserTransactionインタフェースを使用します。詳細は、"Entity Beanのプログラミング"を参照してください。
メソッド単位にトランザクションを制御する場合には、javax.transaction.UserTransactionインタフェースを使わずに、EJBコンテナにトランザクション制御を行わせることができます。EJBコンテナにトランザクション制御を行わせる場合には、deployment descriptorのトランザクション管理種別をContainerにし、該当するメソッドについてトランザクション属性を指定してください。トランザクション管理種別と属性については、"Interstage Application Server J2EEユーザーズガイド"を参照してください。
通常、Enterprise Bean からデータベースにアクセスするには、Entity Bean を使います。
Session Beanの属性がSTATEFULの場合、複数のメソッドを1トランザクションで処理することができます。
Session Beanの属性がSTATELESSの場合、1メソッドを1トランザクションで処理します。
目次 索引 |