Enterprise Beanクラスは、ユーザがインタフェースで定義した ejbCreateメソッドおよびビジネスメソッドを実装します。
Interstage Studioを使用して開発を行った場合、Enterprise Beanクラスのひな形が自動生成されます。
以下に、Enterprise Beanクラスの記述の形式を示します。
記述形式
public class Enterprise Bean名 extends Object implements javax.ejb.SessionBean { ・・・ // startup work public void ejbCreate(任意の引数) throws javax.ejb.EJBException, javax.ejb.CreateException { ・・・ } // business method public 任意の返却値 ビジネスメソッド(任意の引数) throws javax.ejb.EJBException { ・・・ } ・・・ }
規約
Enterprise Beanクラスは以下の規約を満たしていなければなりません。
javax.ejb.SessionBeanインタフェースを実装していなければなりません。
publicとして定義されていなければなりません。
パラメタを取らないpublicコンストラクタをもつ必要があります。
ejbCreateメソッドとビジネスメソッドが実装されていなければなりません。
Enterprise Beanクラスは、Enterprise Beanの Remoteインタフェースを実装してもかまいませんが、メソッド引数または結果として、不用意なthisの受渡しを防ぐRemoteインタフェースを実装しないことが推奨されます。
Enterprise Beanクラスは、EJB仕様に定められたメソッドのほかにも、メソッド(ビジネスメソッドが内部で呼び出すヘルパーメソッドなど)を実装できます。
ejbCreateとビジネスメソッドには、以下の規約があります。
ejbCreateの規約
ejbCreateは以下の規約を満たしていなければなりません。
メソッド名は ejbCreateでなければなりません。
EJB2.0規約以降に準拠したEJBアプリケーションでは、Homeインタフェースにcreateで始まる任意の名前を記述できます。
この場合は、ejbCreate<任意の名前>でなければなりません。
メソッドは publicとして定義されていなければなりません。
返却値は voidでなければなりません。
メソッドの引数は、RMI over IIOPの規約に従わなくてはなりません。
throws句には任意のアプリケーション固有の例外を定義できます。
throws句は、javax.ejb.CreateExceptionを含むことができます。
ビジネスメソッドの規約
ビジネスメソッドは以下の規約を満たしていなければなりません。
メソッド名は任意ですが、それらは、EJBのAPIで定義されているメソッドの名前と重複してはなりません。
メソッドは publicとして宣言されていなければなりません。
メソッド引数と返却値は、RMI over IIOPの規約に従わなくてはなりません。
throws句には任意のアプリケーション固有の例外を定義できます。
Webサービス化するSTATELESS Session Beanを開発する場合には、上記以外にメソッドのパラメタ(引数・返り値)には、“18.3 Javaのデータ型とXMLのデータ型との対応”に示されたJavaデータ型だけを使用する必要があります。この場合には、java.util.Vectorやjava.util.Hashtableをメソッドのパラメタ(引数・返り値)に指定できません。配列型などを使用してください。