posts - 66,  comments - 11,  trackbacks - 0
    由于EJB对象可以运行在与客户不同的机器上,因此客户不能够直接实例化EJB对象。EJB推崇位置透明性,因此从这个角

度考虑客户不应该对EJB对象的位置信息进行关注。
    为获得对EJB对象的引用,客户代码需要从EJB对象工厂中请求EJB对象。该工厂负责实例化EJB对象。EJB规范将这种工厂

称之为Home对象。Home对象的职责主要有:
1、创建EJB对象
2、查找现有的EJB对象
3、删除EJB对象
    同EJB对象一样,Home对象专属于特定的EJB容器。Home对象含有容器特定的逻辑,如负载均衡逻辑、借助于图形化管理

控制台追踪信息等。与此同时,Home对象也是EJB容器的组成部分,通过容器提供的工具能够自动创建它。
    Home对象是创建EJB对象的工厂。但是Home对象是如何实例化EJB对象的呢?为创建Home对象,EJB容器需要掌握这方面的

信息。通过指定Home接口给容器即可完成这方面信息的注入。Home接口简单的定义了用于创建、销毁和查找EJB对象的方法。

容器的Home对象实现了Home接口。
    使用Home接口存在一个问题,即通过Home接口创建EJB实例速度很慢,而且,借助于远程接口调用EJB实例也是如此。当

访问EJB对象时,通常会依次触发如下内容:
1、客户调用本地存根
2、存根将参数压包成适合网络传输格式
3、存根借助于网络将参数传递给骨架
4、骨架将参数解包成适合Java的格式。
5、骨架调用EJB对象。
6、EJB对象获得所需的中间件服务,如连接池、事务、安全性和生命周期服务。
7、EJB对象调用企业Bean实例,Bean实例处理客户请求。
从EJB2.0开始,客户能够通过本地对象(而不是EJB对象)快速、高效的访问企业Bean组件。具体过程如下:
1、客户访问本地对象
2、本地对象获得所需的中间件服务
3、一旦企业Bean实例处理完客户请求,则将结果返回给本地对象,最终传回给客户。

EJB对象指请求拦截器,远程接口指供请求拦截器使用的接口,Home对象指工厂,Home接口指工厂接口。
本地接口存在的缺点:
1、只在同一进程中有效。如在同一应用服务器中存在访问银行账号实体Bean的银行出纳会话Bean,如果EJB组件代码本身依赖

于本地接口实现,则不能够通过远程访问到它。
2、通过引用(传址),而不是传值来marshal参数。

部署描述符:借助于部署描述符文件,EJB组件能够声明其依赖的中间件服务。然后,EJB容器将通过部署描述符了解到组件

待使用的中间件服务。

posted on 2009-10-29 15:56 王永庆 阅读(188) 评论(0)  编辑  收藏 所属分类: EJB学习笔记

只有注册用户登录后才能发表评论。


网站导航:
 
<2009年10月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

常用链接

留言簿(1)

随笔分类

随笔档案

关注blogs

搜索

  •  

最新评论

阅读排行榜

评论排行榜