J2EE Architecture(13)
1、EJB调用模型
普通调用模型,考虑远程客户端的调用。步骤:
1)开始时,远程客户端需要定位业务组件,并获得组件引用;
2)客户端使用JNDI查找服务,以检索Bean的home对象的引用;
3)客户端收到引用;
4)客户端请求home对象创建或查找企业Bean;
5)home对象创建或查找企业Bean;
6)作为结果,返回EJB对象的引用;
7)客户端使用引用,通过EJB对象调用业务方法;
8)或者,在调用Bean的业务方法前,EJB对象可能会使用其它服务;
9)EJB对象最终调用Bean的业务方法,在成功运行业务方法后,将结果返回到EJB对象;
10)EJB对象将结果返回客户端。
注:客户端任何时候都不能直接访问Bean实例。
2、EJB的生命期
不同的EJB具有不同的生命期。
会话Bean表示客户端,而实体Bean表示持久数据。
会话Bean实例在客户端启动会话时创建,当客户端完成活动时,将销毁会话Bean实例;在创建数据时,将创建实体Bean实例,而当销毁数据时,将销毁实体Bean实例。
1)无状态会话Bean的生命期
收到客户端请求后,业务层容器将调用如下方法创建无状态会话Bean:
newInstance()
setSessionContext(...)
ejbCreate()
按顺序调用。newInstance()创建一个会话Bean实例;setSessionContext(...)接受一个称为SessionContext对象的参数。SessionContext对象包含Bean需要的所有上下文信息。执行ejbCreate(),标志Bean实例创建完成,可接收客户请求了。
客户端可调用Bean的业务方法来进行Bean的活动和服务。业务方法可根据业务要求的性质执行任何工作。
容器将调用ejbRemove()方法来销毁无状态会话Bean。
2)有状态会话Bean的生命期
2.1)有状态会话Bean的创建
收到客户端请求后,业务层容器调用如下方法创建有状态会话Bean:
newInstance()
setSessionContext(...)
ejbCreate(...)
与无状态会话Bean不同,其ejbCreate()方法带参数。
2.2)有状态会话Bean的活动和服务
客户端可调用这个Bean上的一个或多个业务方法,业务方法可根据业务要求的性质执行任何工作。
与无状态会话Bean的不同:有状态会话Bean的服务和活动要求:Bean要在多个方法调用过程中维护会话状态。
为了在多个方法调用的过程中维护会话状态,有状态会话Bean占用的资源比无状态会话Bean多,需要长时间维护钝化状态,以满足资源或用户傲气。
容器使用两个方法来管理和维护会话状态:
(1)ejbActivate()
(2)ejbPassivate()
为等候的Bean调用ejbActivate()方法时,将释放所有资源和Bean,使Bean进入钝化状态。
释放后的资源可供其它Bean使用。
如客户端长期不活动,则容器不能无限期地保留资源。
容器可根据自身设置,永久销毁Bean,将资源提供给其它Bean使用。
要恢复Bean状态,可调用Bean的ejbActivate()方法。
有状态会话Bean的销毁:容器将调用Bean上的ejbRemove()方法。
分享到:
相关推荐
J2EE Architecture 介绍web,mvc,架构,EJB规则,bean
J2EE Architecture and Design Patterns J2EE Architecture and Design Patterns
Lightweight J2EE Architecture 轻量级J2EE架构
The Spring Framework Introduction To Lightweight j2Ee Architecture.pdf
The J2EE Connector architecture defines a standard architecture for connecting the J2EE platform to heterogeneous EISs. Examples of EISs include Enterprise Resource Planning (ERP), mainframe ...
应用开发与运作平台J2EE Architecture Overview
J2EE Architecture An Overview的源码及flash课件 (共3部分,请下载完毕后解压)
J2EE Architecture An Overview(part3)源码及flash课件 (共三部分,请下载完毕后解压)
J2EE Architecture An Overview(part2)源码及flash课件 (共三部分,请下载完毕后解压)
Practical J2EE Application Architecture 经典书籍,供大家参考。
J2EE Connector Architecture and Enterprise Application Integration一本很不错的书
介绍j2EE connector Architecture
McGrawHill-Practical J2EE Application Architecture
J2EE 连接器架构(J2EE Connector Architecture, JCA)简介
Addison-Wesley - J2EE Connector Architecture and Enterprise Application Integration.pdf
good description about how to build up one best J2EE architecture application
The gain a good understanding of J2EE Architecture and technologies
Adapter 适配器开发 Adapter 适配器开发
a slides introduce J2EE architecture