正在阅读:用本地引用提高EJB访问效率之一用本地引用提高EJB访问效率之一

2004-02-14 09:34 出处:eNet硅谷动力 作者:仙人掌工作室 责任编辑:zwg
用本地引用提高EJB访问效率   EJB 1.0和1.1规范只定义了一种在EJB组件中引用另一组件的方法,即通过Bean的远程接口。如果两个Bean都在同一个容器之内,则这种网络开销是不必要的。为解决这个问题,EJB 2.0规范定义了一种新的EJB引用类型,即本地引用。 一、两种引用类型   为了从其他EJB组件访问某个Bean,容器提供了一种特殊的机制。这种机制允许一个Bean提供者通过称为EJB引用的“逻辑名字”引用另一个EJB的Home。EJB容器利用应用的部署描述器为EJB构造环境,而这些引用在部署描述器中作为特殊的项目声明。在部署描述器中,部署者把组件代码中要用到的EJB引用绑定到其他被引用EJB的Home。   如前所述,在EJB 2.0规范出现之前,在一个EJB中引用其他Bean只有一种方法,即通过远程接口,它要求进行跨越网络的远程过程调用。如果某个事务由多个Bean协作完成,通过网络进行多个对象的汇集和释放将是一项相当繁重的工作。   EJB 2.0规范新增了一种本地接口类型,允许在同一容器之内的Bean直接互相引用,避免了远程接口的网络开销。本地接口是一种标准的Java接口,而不是从RMI继承得到。EJB组件的定义可以包含本地接口或远程接口,或者两者都定义。   本地引用的指定方式和传统的远程引用一样,即在部署描述器中指定。事实上,本地引用的部署描述元素与远程引用的描述元素完全对应。 下面的代码片断是一个典型的远程引用: Product ejb/Product Entity com.xyz.widgets.ProductHome com.xyz.widgets.Product ../products/product.jar#Product 下面的代码片断是同一Bean的本地引用: Product ejb/Product Entity com.xyz.widgets.ProductHome com.xyz.widgets.Product ../products/product.jar#Product 下表简要说明了各个元素的用途:

相关文章

关注我们

最新资讯离线随时看 聊天吐槽赢奖品