EJB中的那三个类

[b]那三个类[/b]
--- 此处以EJB中的SessionBean为例
1. 远程接口 --extends EJBObject
实例:
public interface PoAssetService extends javax.ejb.EJBObject {
public VoPoAsset getPoAssetById(AppContext appContext,long assetId) throws RemoteException, PoAssetException, AppSystemException;
-----
}
2. 本地接口 --extends EJBHome
功能:提供远程接口对象的创建。
实例:
public interface PoAssetServiceHome extends javax.ejb.EJBHome {

public com.pti.fsc.poi.services.poasset.PoAssetService create()
throws javax.ejb.CreateException, java.rmi.RemoteException;
}

3. Bean实现类--implements javax.ejb.SessionBean
实例:
即:PoAssetServiceBean,PoAssetService的实现类(面向接口编程哦)

总结一下:本地接口继承EJBHome,作用是产生EJB对象的引用,进而引用EJB实例。EJB继承自EJBObject,
其中定义了所有的业务方法,放到了实现类中去实现,EJB实现类继承自SesstionBean
这样,我们要调用PoAssetServiceBean(实际调用PoAssetServic就可以,为什么呢,面向接口编程嘛~~),就可以利用Home类PoAssetServiceHome 来生成 对PoAssetService的引用,代码如下:

public static final String SERVICE_NAME = "ejb/com/XXX/fsc/poi/services/poasset/PoAssetServiceHome";
private static PoAssetServiceHome serviceHome = null;
private static Logger logger = Logger.getInstance(PoAssetServiceAccessor.class.getName());
private PoAssetService service = null;
static {
try {
serviceHome =
(PoAssetServiceHome)ResourceLocator.getInstance().getRemoteHome(SERVICE_NAME, PoAssetServiceHome.class);
} catch (Exception e) {
logger.error("Service " + SERVICE_NAME + " can not be located.", e);
}
}
public PoAssetServiceAccessor() {
try {
if (serviceHome != null)
service = serviceHome.create();
} catch (Exception e) {
logger.error("creating service error", e);
}
}
public VoPoAsset getPoAssetById(long assetId) throws RemoteException, PoAssetException, AppSystemException {
return (service != null ? [b]service.getPoAssetById(AppContextUtil.createAppContext(), assetId)[/b] : null);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值