ページの先頭行へ戻る
 Apcoordinatorユーザーズガイド

8.2.1 EJBCallFactoryクラスからリモートインタフェースを取得する方法

以下のように記述します。

import com.fujitsu.uji.ejb.EJBCallFactory;
import com.fujitsu.uji.ext.CallFactory;

public void someMethod(DispatchContext context, MyDataBean dataBean) {
  EJBCallFactory callFactory=(EJBCallFactory)context.getCallFactory(CallFactory.EJB);
  SomeSession remote=(SomeSession)callFactory.create("java:comp/env/ejb/someSessionBean"); 
  remote.someBusinessMethod(....);
  ...
}

ここで、SomeSessionはセションBeanのリモートインタフェースです。EJBCallFactoryのオブジェクトはDispatchContextクラスのgetCallFactoryメソッドで取得します。EJBCallFactoryのcreateメソッドは、指定された名前のEJBのオブジェクトを作成し、そのリモートインタフェースを返します。ここで、createの引数に与えるのはJNDIで検索する名前です。

この方法を使用する場合、EJBのホームインタフェースには引数なしのcreateメソッドが定義されている必要があります。

EJBCallFactoryのcreateメソッドで作成されたEJBオブジェクトは、ビジネスクラスを呼び出した処理が終了するときに自動的に削除されます。詳細は“8.4 セションBeanオブジェクトの自動削除”を参照してください。