Enterprise Beanクラスは、ユーザがインタフェースで定義した ejbCreateメソッドおよびビジネスメソッドを実装します。
Interstage Studioを使用して開発を行った場合、Enterprise Beanクラスのひな形が自動生成されます。
以下に、Enterprise Beanクラスの記述の形式を示します。
記述形式
public class Enterprise Bean名 implements javax.ejb.MessageDrivenBean, メッセージリスナインタフェース { ・・・ public void ejbCreate() { ・・・ } public void ejbRemove() { ・・・ } ・・・ メッセージリスナメソッド { ・・・ } }
規約
Enterprise Beanクラスは以下の規約を満たしていなければなりません。
javax.ejb.MessageDrivenBeanインタフェースを実装していなければなりません。
受信対象種別ごとのメッセージリスナインタフェースを実装しなければなりません。
受信対象種別がJMSの場合、メッセージリスナインタフェースはjavax.jms.MessageListenerとなります。
受信対象種別がresourceadapterの場合、RARファイルのdeployment descriptorファイル(ra.xml)に定義された、messagelistener-typタグに指定されているメッセージリスナインタフェースを実装してください。
javax.ejb.TimedObjectインタフェースを実装することができます。
publicとして定義されていなければなりません。finalやabstractとして定義してはいけません。
パラメタを取らないpublicコンストラクタをもつ必要があります。
finalizeメソッドを定義してはなりません。
ejbCreateメソッドを実装しなければなりません。
スーパークラスを持ったり、インタフェースを実装したりすることができます。
スーパークラスにejbCreateメソッドやその他のMessageDrivenBeanインタフェースやMessageListenerのインタフェースを実装することができます。
Enterprise Beanクラスは、EJB仕様に定められたメソッドのほかにも、メソッド(ビジネスメソッドが内部で呼び出すヘルパーメソッドなど)を実装できます。
ejbCreate、ejbRemove、メッセージリスナメソッドには、以下の規約があります。
ejbCreateの規約
ejbCreateは以下の規約を満たしていなければなりません。
メソッド名は ejbCreateでなければなりません。
メソッドは publicとして定義されていなければなりません。
メソッドはfinalやstaticで定義してはなりません。
返却値は voidでなければなりません。
引数を持ってはなりません。
throws句には任意のアプリケーション固有の例外を定義してはなりません。
メッセージリスナメソッドの規約
メッセージリスナメソッドは以下の規約を満たしていなければなりません。
メソッドはpublicとして宣言されていなければなりません。
メソッドはfinalやstaticで定義してはなりません。
ejbRemoveの規約
ejbRemoveは以下の規約を満たしていなければなりません。
メソッド名は ejbRemoveでなければなりません。
メソッドは publicとして定義されていなければなりません。
メソッドはfinalやstaticで定義してはなりません。
返却値は voidでなければなりません。
引数を持ってはなりません。
throws句には任意のアプリケーション固有の例外を定義してはなりません。