background image

Application Assembler)、部署者(Deployer)、EJB 服务器提供者(EJB Server 

Provider)、EJB  容器提供者(EJB Container Provider)、系统管理员(System 
Administrator)
三个对象是

Remote(Local)接口、Home(LocalHome)接口,Bean 类 

10. EJB 容器提供的服务 

主要提供声明周期管理、代码产生、持续性管理、安全、事务管理、锁和并发行管理等服务。

 

11. EJB 规范规定 EJB 中禁止的操作有哪些? 

1.不能操作线程和线程 API(线程 API 指非线程对象的方法如 notify,wait 等),2.不能操

awt,3.不能实现服务器功能,4.不能对静态属生存取,5.不能使用 IO 操作直接存取

文件系统,

6.不能加载本地库.,7.不能将 this 作为变量和返回,8.不能循环调用。 

12. remote 接口和 home 接口主要作用 

remote 接口定义了业务方法,用于 EJB 客户端调用业务方法。 home 接口是 EJB 工厂
用于创建和移除查找

EJB 实例 

13. bean 实例的生命周期 

对于

Stateless Session Bean、Entity Bean、Message Driven Bean 一般存在缓冲

池管理,而对于

Entity Bean 和 Statefull Session Bean 存在 Cache 管理,通常包含

创建实例,设置上下文、创建

EJB Object(create)、业务方法调用、remove 等过程,

对于存在缓冲池管理的

Bean,在 create 之后实例并不从内存清除,而是采用缓冲池调

度机制不断重用实例,而对于存在

Cache 管理的 Bean 则通过激活和去激活机制保持

Bean 的状态并限制内存中实例数量。 

14. EJB 的激活机制 

Stateful Session Bean 为例:其 Cache 大小决定了内存中可以同时存在的 Bean

实例的数量,根据

MRU 或 NRU 算法,实例在激活和去激活状态之间迁移,激活机制是

当客户端调用某个

EJB 实例业务方法时,如果对应 EJB Object 发现自己没有绑定对应

Bean 实例则从其去激活 Bean 存储中(通过序列化机制存储实例)回复(激活)此

实例。状态变迁前会调用对应的

ejbActive 和 ejbPassivate 方法。 

15. EJB 的几种类型 

会 话 (

Session ) Bean  , 实 体 ( Entity ) Bean  消 息 驱 动 的 ( Message 

Driven)Bean 会话 Bean 又可分为有状态(Stateful)和无状态(Stateless)两种
实体

Bean 可分为 Bean 管理的持续性(BMP)和容器管理的持续性(CMP)两种