WEB开发网
开发学院WEB开发Jsp 用本地引用提高EJB访问效率之一 阅读

用本地引用提高EJB访问效率之一

 2008-01-05 20:11:34 来源:WEB开发网   
核心提示:用本地引用提高EJB访问效率 EJB 1.0和1.1规范只定义了一种在EJB组件中引用另一组件的方法,即通过Bean的远程接口,用本地引用提高EJB访问效率之一,假如两个Bean都在同一个容器之内,则这种网络开销是不必要的,事实上,本地引用的部署描述元素与远程引用的描述元素完全对应,为解决这个问题,EJB 2.0规范
用本地引用提高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



下表简要说明了各个元素的用途:

用本地引用提高EJB访问效率之一


进入讨论组讨论。

Tags:本地 引用 提高

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接