ejb

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

2、EJB的角色和三个对象  
EJB角色主要包括Bean开发者 应用组装者 部署者 系统管理员 EJB容器提供者 EJB服务器提供者  
三个对象是Remote(Local)接口、Home(LocalHome)接口,Bean类  

3、EJB的几种类型  
会话(Session)Bean ,实体(Entity)Bean 消息驱动的(Message Driven)Bean  
会话Bean又可分为有状态(Stateful)和无状态(Stateless)两种  
实体Bean可分为Bean管理的持续性(BMP)和容器管理的持续性(CMP)两种  

4、bean 实例的生命周期  
对于Stateless Session Bean、Entity Bean、Message Driven Bean一般存在缓冲池管理,而对于Entity Bean和Statefull Session Bean存在Cache管理,通常包含创建实 例,设置上下文、创建EJB Object(create)、业务方法调用、remove等过程,对于存在缓冲池管理的Bean,在create之后实例并不从内存清除,而是采用缓冲池调 度机制不断重用实例,而对于存在Cache管理的Bean则通过激活和去激活机制保持Bean的状态并限制内存中实例数量。  

5、EJB的激活机制  
以Statefull Session Bean 为例:其Cache大小决定了内存中可以同时存在的Bean实例的数量,根据MRU或NRU算法,实例在激活和去激活状态之间迁移,激活机制是当 客户端调用某个EJB实例业务方法时,如果对应EJB Object发现自己没有绑定对应的Bean实例则从其去激活Bean存储中(通过序列化机制存储实例)回复(激活)此实 例。状态变迁前会调用对应的ejbActive和ejbPassivate方法。  

6、remote接口和home接口主要作用  
remote接口定义了业务方法,用于EJB客户端调用业务方法  
home接口是EJB工厂用于创建和移除查找EJB实例  

7、客服端调用EJB对象的几个基本步骤  
一、 设置JNDI服务工厂以及JNDI服务地址系统属性  
二、 查找Home接口  
三、 从Home接口调用Create方法创建Remote接口  
四、 通过Remote接口调用其业务方法  


8.EJB是基于哪些技术实现的?并说 出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别.  
EJB包括Session Bean、Entity Bean、Message Driven Bean,基于JNDI、RMI、JAT等技术实现.  
  SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件.EntityBean被用来代表    应用系统中用到的数据.对于客户机, SessionBean是一种非持久性对象,它实现某些在服务器上运行的业务逻辑;
  EntityBean是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体.
  Session Bean 还可以再细分 Stateful Session Bean 与 Stateless Session Bean .这两种的 Session Bean都可以将系统逻辑放在 method之中执行,不同的是 Stateful Session Bean 可以记录呼叫者的状态,因此通常来说,一个使用者会有一个      相对应的 Stateful Session Bean 的实体.Stateless Session Bean 虽然也是逻辑组件,但 是他却不负责记录使用者状态,      也就是说当使用者呼叫 Stateless Session Bean 的时候,EJB Container 并不会找寻特定的 Stateless Session Bean 的      实体来执行 这个 method.换言之,很可能数个使用者在执行某个 Stateless Session Bean 的 methods 时,会是同一个 Bean 的 Instance 在执行.从内存方面来看, Stateful Session Bean 与 Stateless Session Bean 比较,Stateful Session Bean 会消耗 J2EE Server 较多的内存,然而 Stateful Session Bean 的优势却在于他可以维持使用者的状态.  

9.EJB规范规定EJB中禁止的操作有哪些? 
答:1.不能操作线程和线程API(线程API指非线程对象的方法如notify,wait等),
        2.不能操作awt,
    3.不能实现服务器功能,
    4.不能对静态属生存取,
    5.不能使用IO操作直接存取文件系统,
    6.不能加载本地库.,
    7.不能将this作为变量和返回,
    8.不能循环调用。

10.客服端调用EJB对象的几个基本步骤
设置JNDI服务工厂以及JNDI服务地址系统属性,查找Home接口,从Home接口调用Create方法创建Remote接口,通过Remote接口调用其业务方法。



















“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值