插入 Java 程式碼以呼叫 Session Bean 方法

請利用「片段」視圖來插入呼叫 Session Bean 特定方法的 Java™ 程式碼。

插入的 Java 程式碼會呼叫 Session Bean 的 create 方法,之後,再呼叫您在精靈中指定的方法。

呼叫 Session Bean service 方法的插入片段範例

在插入片段之前:
public class Test {

	public void callSessionMethod() {
		// 將片段插在這裡
		
	}
}
插入片段之後,在 RegistrationFacade Session Bean 上選取了 getPrimaryKey 方法:
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 方法,請執行下列動作:

  1. 在 J2EE 視景中,利用 Java 編輯器來開啟您要在其中新增程式碼片段的 Java 檔。
  2. 將游標置於 Java 檔中,要插入程式碼的那一點。
  3. 在「片段」視圖中,展開 EJB 抽屜,按兩下呼叫 Session Bean service 方法 這時會開啟「插入 Session Bean 服務」精靈。
  4. 選取您要呼叫之 Session Bean 的 EJB 參照。如果您還沒有定義 Session Bean 的 EJB 參照,您必須先新增一個,才能完成這個精靈。 請按一下新建 EJB 參照來開啟新增 EJB 參照精靈。
  5. 下一步
  6. 如果用戶端和 Enterprise Bean 不在相同應用程式伺服器儲存器中,您必須輸入提供者 URL名稱服務類型來尋找所參照的 Enterprise Bean。 否則,您可以選取利用預設環境定義內容來執行這個參照的查閱
  7. 下一步
  8. 選取您要呼叫的 Session Bean 中的方法。
  9. 按一下完成
註: serviceLocatorMgr.jar 檔會被當作公用程式 JAR 檔,新增至您所編輯之 Java 類別所屬的每一支企業應用程式中。這個 serviceLocator.jar 檔含有在插入的 Java 程式碼片段中所用的 ServiceLocatorManager 類別。這個類別會將 Home 介面和 InitialContexts 的查閱作業最佳化,並且確保它們在整個應用程式只被查閱一次。 由於新增了公用程式 JAR 檔,因此 Java 檔所屬的模組或 Java 公用程式專案中,也會加入 serviceLocator.jar 檔的 Java JAR 相依關係。

ServiceLocatorManager 類別有一個 static 方法叫做 setErrorHandler(ServiceLocatorErrorHandler handler), 可以指定特定的錯誤處理常式,來處理查閱 Home 介面時所發生的錯誤狀況。預設的處理常式只要針對所處理的異常狀況呼叫 printStackTrace() 即可。

相關工作
插入 Java 程式碼以建立 EJB 實例
插入 Java 程式碼以尋找 EJB 實例
插入將訊息傳給 JMS 佇列接聽器的 Java 程式碼
定義 J2EE 模組中的參照
使用條款 | 讀者意見
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.