首先開發(fā)遠程接口,遠程接口支持EJB組件暴露的所有業(yè)務方法。
package com.wyq.ejb;
import javax.ejb.EJBObject;
/**
* Hello EJB組件的遠程接口
*
* 在客戶同EJB對象交互時,需要使用這一接口。容器廠商會實現(xiàn)這一接口,而相應的實現(xiàn)對象
* 就是EJB對象。EJB對象會將客戶請求委派給實際的EJB Bean類。
*
*/
public interface Hello extends EJBObject {
/**
* 返回歡迎信息給客戶。
*/
public String hello()throws java.rmi.RemoteException;
/**
* 注意:遠程接口繼承于javax.ejb.EJBObject.其含義是:容器生成的EJB對象實現(xiàn)了遠程接口(EJBObject)
* 即javax.ejb.EJBObject接口中定義的各個方法。其中包括比較不同EJB對象的方法,刪除EJB對象的方法等。
* 僅實現(xiàn)了單個業(yè)務方法,即hello().HelloWorld EJB組件的Bean類需要實現(xiàn)hello方法。另外,由于Hello
* 接口是RMI-IIOP類型的遠程接口,因此必須拋出遠程異常。這也是企業(yè)Bean類中hello方法簽名同遠程接口中
* hello方法簽名的區(qū)別。
*/
}
為訪問EJB組件的業(yè)務方法,本地客戶應該使用本地接口,而不是遠程接口。
package com.wyq.ejb;
import javax.ejb.EJBLocalObject;
/**
* Hello EJB組件的本地接口。
*
* 當本地客戶同EJB本地對象交互時,需要使用這一接口。容器廠商會實現(xiàn)這一接口。
* 而相應的實現(xiàn)對象就是EJB本地對象。EJB本地對象會將客戶請求委派給實際的EJB Bean類。
*
*/
public interface HelloLocal extends EJBLocalObject {
/**
* 返回歡迎信息給客戶,本地接口繼承EjbLocalObject接口,并且不需要拋出RemoteException.
*/
public String hello();
}
posted on 2009-10-30 13:00
王永慶 閱讀(127)
評論(0) 編輯 收藏 所屬分類:
EJB學習筆記