挿入された Java コードは、 EJB 参照のリモートまたはローカル・ホーム・インターフェースをルックアップして、 エンタープライズ Bean のインターフェースを作成する「create」メソッドを呼び出します。
このコードを素早く挿入するために「スニペット」ビューを使用すると、 該当するビジネス・ロジックを手操作でコーディングして Bean のインスタンスを作成することを回避することができます。Java コードが生成されて、編集している Java ファイルの現行位置に挿入されます。
EJB create メソッドを呼び出す断片の挿入例:
public class Test {
public void createMyBean() {
// insert snippet here
}
}
import com.ibm.etools.service.locator.ServiceLocatorManager;
import java.rmi.RemoteException;
import sample.RegistrationFacadeHome;
import sample.RegistrationFacadeRemote;
import javax.ejb.CreateException;
public class Test {
private final static String STATIC_RegistrationFacadeHome_REF_NAME = "ejb/RegistrationFacade";
private final static Class STATIC_RegistrationFacadeHome_CLASS = RegistrationFacadeHome.class;
public void createMyBean() {
// insert snippet here
RegistrationFacadeRemote aRegistrationFacadeRemote = createRegistrationFacadeRemote();
}
protected RegistrationFacadeRemote createRegistrationFacadeRemote() {
RegistrationFacadeHome aRegistrationFacadeHome = (RegistrationFacadeHome) ServiceLocatorManager
.getRemoteHome(STATIC_RegistrationFacadeHome_REF_NAME,
STATIC_RegistrationFacadeHome_CLASS);
try {
if (aRegistrationFacadeHome != null)
return aRegistrationFacadeHome.create();
} catch (CreateException ce) {
// TODO Auto-generated catch block
ce.printStackTrace();
} catch (RemoteException re) {
// TODO Auto-generated catch block
re.printStackTrace();
}
return null;
}
}
ServiceLocatorManager クラスには、setErrorHandler (ServiceLocatorErrorHandler ハンドラー) と呼ばれる静的メソッドがあります。 このメソッドを使用すると、ホーム・インターフェースをルックアップするときに発生するエラー条件に対して、 特定のエラー・ハンドラーを指定できます。デフォルトのハンドラーは、処理される例外について printStackTrace() を呼び出すだけです。