挿入された 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; } }
エンタープライズ Bean のインスタンスを作成するための Java コードを挿入する方法:
ServiceLocatorManager クラスには、setErrorHandler (ServiceLocatorErrorHandler ハンドラー) と呼ばれる静的メソッドがあります。 このメソッドを使用すると、ホーム・インターフェースを検索するときに発生するエラー条件に対して、 特定のエラー・ハンドラーを指定できます。デフォルトのハンドラーは、処理される例外について printStackTrace() を呼び出すだけです。