請利用「片段」視圖來插入呼叫 Session Bean 特定方法的 Java™ 程式碼。
插入的 Java 程式碼會呼叫 Session Bean 的 create 方法,之後,再呼叫您在精靈中指定的方法。
呼叫 Session Bean service 方法的插入片段範例
public class Test { public void callSessionMethod() { // 將片段插在這裡 } }
import java.rmi.RemoteException; import com.ibm.etools.service.locator.ServiceLocatorManager; 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 callSessionMethod() { // 將片段插在這裡 RegistrationFacadeRemote aRegistrationFacadeRemote = createRegistrationFacadeRemote(); try { Object anObject = aRegistrationFacadeRemote.getPrimaryKey(); } catch (RemoteException ex) { // TODO 自動產生的 catch 區塊 ex.printStackTrace(); } } 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 自動產生的 catch 區塊 ce.printStackTrace(); } catch (RemoteException re) { // TODO 自動產生的 catch 區塊 re.printStackTrace(); } return null; } }
如果要插入 Java 程式碼呼叫 Session Bean service 方法,請執行下列動作:
ServiceLocatorManager 類別有一個 static 方法叫做 setErrorHandler(ServiceLocatorErrorHandler handler), 可以指定特定的錯誤處理常式,來處理查閱 Home 介面時所發生的錯誤狀況。預設的處理常式只要針對所處理的異常狀況呼叫 printStackTrace() 即可。