中远集团Java笔试题和面试题答案(二)

|来源:新高考网

  四、EJB

  *1、EJB容器提供的服务

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

  2、EJB的角色和三个对象

  EJB角色主要包括Bean开发者 应用组装者 部署者 系统管理员 EJB容器提供者 EJB服务器提供者

  三个对象是Remote(Local)接口、Home(LocalHome)接口,Bean类

  2、EJB的几种类型

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

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

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

  3、bean 实例的生命周期

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

  4、激活机制

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

  5、remote接口和home接口主要作用

  remote接口定义了业务方法,用于EJB客户端调用业务方法

  home接口是EJB工厂用于创建和移除查找EJB实例

  6、客服端调用EJB对象的几个基本步骤

  一、 设置JNDI服务工厂以及JNDI服务地址系统属性

  二、 查找Home接口

  三、 从Home接口调用Create方法创建Remote接口

  四、 通过Remote接口调用其业务方法

中国点击率最高的一篇文章 !