EJB 试题及答案.docx

上传人:b****4 文档编号:11710839 上传时间:2023-03-30 格式:DOCX 页数:11 大小:23.27KB
下载 相关 举报
EJB 试题及答案.docx_第1页
第1页 / 共11页
EJB 试题及答案.docx_第2页
第2页 / 共11页
EJB 试题及答案.docx_第3页
第3页 / 共11页
EJB 试题及答案.docx_第4页
第4页 / 共11页
EJB 试题及答案.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

EJB 试题及答案.docx

《EJB 试题及答案.docx》由会员分享,可在线阅读,更多相关《EJB 试题及答案.docx(11页珍藏版)》请在冰豆网上搜索。

EJB 试题及答案.docx

EJB试题及答案

EJB试题及答案

一选择题:

1.EJB架构主要使用的设计模式是:

AC

A.Proxy

C.Delegate

2.EJB的类型主要有:

cdf

C.SessionBean

D.EntityBean

F.Message-DrivenBean

3.SessionBean的组成可以包括:

ACEFGI…而EntityBean的组成可以包括:

ACDEFGI

A.Homeinterface

C.Remoteinterface

D.Primarykeyclass

E.Localhomeinterface

F.Localinterface

G.ejb-jar.xml

I.Beanclass

4.SessionBean按是否跟踪客户状态分:

BE

B.StatelessSessionBean

E.StatefulSessionBean

5.EntityBean根据数据持久化性的处理方式分:

BMP、CMP

6.EntityBean的事务处理方式可采用:

CMT

7.SessionBean和Message-DrivenBean的事务处理方式可采用:

BMT和CMT

8.申明方式的事务处理的属性有:

ACDFGH

A.Supports

C.NotSupported

D.Required

F.RequiresNew

G.Mandatory

H.Never

9.Localinterface引入的目的是:

B

A.本地客户程序才能调用EJB

B.为了性能

C.解决SessionBean与EntityBean之间的交互

10.对于SessionBean和EntityBean,为远程用户定义homeinterface必须继承B,componentinterface必须继承D,为本地客户定义的homeinterface必须继承F,componentinterface必须继承A,SessionBean的beanclass必须实现C,EntityBean的beanclass必须实现E.

A.EJBLocalObject

B.EJBHome

C.SessionBean

D.EJBOBject

E.EntityBean

F.EJBLocalHome

11.Message-DrivenBean的BeanClass必须实现 B 和 C ;Beanclass中的服务方法的签名是 A .

A.onMessage

B.MessageListener

C.MessageDrivenBean

12.对于SessionBean和EntityBean,无论是remotehome或是localhome都必须定义create方法,该方法都会抛出的异常是 C ,remotehome中的create方法还会抛出异常 B .EntityBean的homeinterface中findByPrimaryKey必须抛出异常 A .

A.FinderException

B.RemoteException

C.CreateException

13.SessionBean的homeinterface中可以定义:

 A 

.而EntityBean的homeinterface中可定义:

 ABC 

A.createmethod(s)

B.Homemethod(s

C.findermethod(s)

D.ejbSelectmethod(s)

14.有状态SessionBean的beanclass中实现了两个方法 A 和 C 用来完成状态的swapin/out. B 和 D 来同步内存与数据库的数据.

A.ejbActivate()

B.ejbLoad()

C.ejbPassivate()

D.ejbStore()

15.EntityBean的homeinterface中的create方法会对应beanclass中的 A 和 B 方法.

A.ejbCreate()

B.ejbPostCreate()

C.ejbStoreCreate()

D.ejbStore()

16.EntityBean的homeinterface中的getTotal方法会对应beanclass中的 B 方法.

A.ejbGetTotal

B.ejbHomeGetTotal

C.ejbTotal

17.在EntityBean的关系管理中, B 关系需要casecadedelete, A 不能用级连删除.

A.Aggregation关联

B.Composition组合

18.在编写Message-DrivenBean的实践中,我们使用如下的编程努力来防止有毒消息的产生:

 BC 

A.用Container管理事务

B.用Bean管理事务

C.不抛出异常

D.只抛出RuntimeException

19.在weblogicconsole上配置JMS,要按什么步骤?

 BACD 

A.配置JMSServers

B.配置Connectionfactories

C.配置Destionations

D.配置JMSStores

20.在weblogic上可以部署的模块有:

 BCDE 

A.javabeanmodule

B.Webmodule

C.Enterpriseapplicationmodule

D.EJBmodule

E.Resourceadaptermodule

21.weblogic与EJB相关的部署描述文件有:

 ABD 

A.ejb-jar.xml

B.weblogic-ejb-jar.xml

C.weblogic.xml

D.weblogic-cmp-rdbms-jar.xml

22.对DataSource的引用属于 D ,远程客户访问EJB属于 E ,SessionBean往往通过JNDI查找EntityBean的LocalHome属于 C ,对基本数据类型的封装类型的对象通过JNDI获得使用 C :

A.Environment entry

B.Resource environment reference

C.EJB local reference

D.Resource reference

E.EJB reference

23.Entity Bean有三种状态:

does not exist,pooled,ready.当其实例从does not exist状态过渡到pooled状态时,容器会调用以下哪些方法:

 AB 

A.new Instance()

B.setEntityContext(ec)

C.ejbCreate()

D.ejbPostCreate()

24.在Entity Bean中,以下哪些地方定义了ejbSelectXXX() methods:

 D 

A.client

B.Remote interface

C.Home interface

D.Bean class

25.Message-Driven Bean有以下哪些状态:

 AC 

A.doesn't exist

B.passivate

C.method-ready pool

D.cache

26.事务的属性有以下哪些?

 ABCD 

A.Atomicity

B.Consistency

C.Isolation

D.Durability

27.在声明方式的事务处理中,Entity Bean可以声明的属性有以下哪些?

 ABC 

A.Required

B.RequiresNew

C.Mandatory

D.Supports

E.NotSupported

F.Never

28.在会话门面模式中,通常我们会用什么作为门面呢?

 B

A.Stateful Session Bean;

B.Stateless Session Bean;

C.Entity Bean

D.Message-Driven Bean

29.在Entity Bean的CMP方式中,Entity Bean的属性跟对应表的字段的映射关系是在以下哪一个文件描述的?

 C 

A.ejb-jar.xml

B.weblogic-ejb-jar.xml

C.weblogic-cmp-rdbms-jar.xml

D.weblogic.xml

30.在JMS编程中,我们要成功的将一条信息绑定JMS中间件上,必须按什么顺序操作:

 AFCEDB 

A.Retrieve Connection Factory

B.Send Message

C.Create Session

D.Create Producer

E.Lookup JMS Destination

F.Create Connection

31.EJBContext是EJB与EJBContainer沟通的桥梁,在EJBContext中定义了与安全相关的两个方法是 C 和 E ,与事务相关的三个方法是 B , F 和 H ,与EJB的组成相关的两个方法是 A 和 D ,与定时服务相关的方法是 G 

A.getEJBLocalHome

B.getRollbackOnly

C.getCallerPrincipal

D.getEJBHome

E.isCallerInRole

F.setRollbackOnly

G.getTimerService

H.getUserTransaction

二:

问答题

1:

EJB是什么?

答:

EnterpriseJavaBean相当于DCOM,即分布式组件。

它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。

但EJB必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。

EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。

客户通过容器来访问真正的EJB组件。

2:

Enterprisejavabean容器?

答:

Enterprisejavabean容器。

更具有行业领域特色。

他提供给运行在其中的组件EJB各种管理功能。

只要满足J2EE规范的EJB放入该容器,马上就会被容器进行高效率的管理。

并且可以通过现成的接口来获得系统级别的服务。

例如邮件服务、事务管理。

3:

RMI:

(RemoteMethodInvocation)远程方法调用?

答:

RMI(RemoteMethodInvocation,远程方法调用)是用Java在JDK1.1中实现的,它大大增强了Java开发分布式应用的能力。

Java作为一种风靡一时的网络开发语言,其巨大的威力就体现在它强大的开发分布式网络应用的能力上,而RMI就是开发百分之百纯Java的网络分布式应用系统的核心解决方案之一。

其实它可以被看作是RPC的Java版本。

但是传统RPC并不能很好地应用于分布式对象系统。

而JavaRMI则支持存储于不同地址空间的程序级对象之间彼此进行通信,实现远程对象之间的无缝远程调用。

4:

EJB种类、作用?

答:

EntityBean——用于描述一个永久的对象。

SessionBean——描述任务或者工作流的模型,并且协调Bean之间的交互。

Message-DriverBean——用在基于J2EE应用程序中处理异步JMS消息。

5:

实体bean,CMP,BMP写法区别?

答:

CMPentitybean不需要在bean中编写数据库操作的代码;可以让容器做这件事。

BMPentitybean在bean类中直接编写数据库调用,以及对固定存储的任意类型的访问,来管理bean的持久性。

6:

Find与Select方法的区别?

答:

FinderSelect

返回值单对象或者集合,是该bean类型的EJBObject(s),EJBLocalObject(s).单个或者多个(集合或集)对象.是该bean类型或CMR相关类型EJBObject(s)或EJBLocalObject(s)也可能是CMP(域),CMP的集合或一个CMR域.

声明位置在远程和/或本地home接口中Bean类中的抽象方法

方法名FindXxx()EjbSelectXxx—bean类

可见度公开给客户端面向entitybean类内部,供其他bean方法使用

实例Bean池任意随机bean实例当前实例,但若调用来自home方法,则为任意随机实例.

7:

主接口方法的定义与写法?

答:

生命周期方法建方法-该方法的返回值是bean的组件接口,写法为creatXxx

无状态sessionbean必须个且仅有一个无参的创建方法.

有状态sessionbean必须含有至少一个创建方法.Entitybean可以有0至多个创建方法.

Finder方法-Finder方法对于entitybean有效,通过它可以在数据库中查找到entitybean对应的持久性数据.每一个entitybean的home接口必须有一个findByPrimaryKey方法,并以实体的主键为参数.可以定制Finder方法.Home方法-Home方法也仅对entitybean有效.Home方法能够返回任意类型的序列化对象,但并不实际生成bean的实例.

8:

主接口与组件接口的区别?

答:

主接口提供EJB客户端对bean的访问.定义了bean的生命周期方法,并提供了bean的基本生命周期管理功能,如创建,删除,查找.messagedrivernbean不含有home接口.组件接口是由enterprisebean的客户端用来取得bean的访问能力.它定义了对于客户端可见的业务方法.组件接口中的业务方法必须符合bean类中的实现.

9、JMS消息传递的方式?

答:

点到点(point-to-point)消息通过队列进行发送.发布与订阅(publish-and-subscribe,pub/sub)消息通过标题传递.

10、EJB客户端访问后台EJB的代码?

答:

p192,p193

11、有状态sessionbean与无状态sessionbean的区别?

答:

statefulsessionbean维护客户端会话状态.它们必须属于一个且只属于一个客户端.激活/钝化,开销大.statelesssession不维护一个客户端的会话状态它们被放入实例池中,因此可被多个用户共用,开销小,效率高。

12、本地视图与远程视图的区别?

答:

远程视图-它的想法就是远程调用将在两台不同JVM之间执行.远程调用这些操作使得相关网络开销会更高与对象的位置无关.也不会在乎是否在一个JVM.

本地视图-它的想法就是本地调用将在相同的JVM中执行.没有网络开销.操作效率更高,因为客户端使用本地对象调用bean上的服务,限制在本地实现中,而且不需要做到与位置无关.

13:

CMT事物属性

Mandatory-当使用这个值时,bean方法被调用时必须有一个事务已经处在运行中.

Never-如果在现有事务中调用此bean,容器将抛出java.rmi.RemotException.

Required-bean方法必须总是在事务上下文中执行.

RequiresNew-当方法被调用的时候,bean总会需要启动一个新的事务

Supports可以参与到正在运行的事务中,但这个事务并不是必须的.

NotSupported-该值意味着在事务中bean或者方法根本不能被调用.

14:

事务属性ACID

答:

原子性——一个事务要么完全执行,要么根本不执行。

一致性——一个事务在它完成后不能留下系统的不一致性。

隔离性——所有的事务不许允许在执行的时候不受其他进程或者事务的干涉。

持久性——在事务期间,所有提交的变更数据必须写入持久的数据存储器,并且应该能在硬件和软件失效中保存下来。

15:

实体Bean的三个状态:

答:

no-state——Bean实例还没有创建。

pooled——Bean实例被创建,但还没有和一个EJBObject关联。

ready——与EJBObject相关联。

若断开关联则回到pooled。

16:

JMS、JMS消息模型

答:

JavaMessageService(JMS)是一个JAVAAPI,用来访问面向消息中间件(MOM)服务。

JMS为Java程序生成、发送、接收和读取异步消息提供通用的方法。

JMS模型:

点到点和发布与订阅

point-to-point——消息通过队列进行发送。

消息由消息生产者(客户端)放入队列中。

消息消费者有责任从队列中取出消息。

当给定的消息只能被给定的消费者接收时,使用P2P。

这种情况下,该给定信息只有一个消费者。

Publish-and-subscribe(简称pub/sub)——消息通过标题传递。

由生产者将消息发布为标题。

消息可以被任何订阅该标题的消费者收到。

通过这种方法,一个消息可以被多个消费者接收或处理。

17:

EJB客户端类型

答:

①Sessionbean②servlet③java应用④JavaApplet⑤非Java客户端

18:

ORM

答:

ORM对象-关系映射(Object-RelationMapping)模式是指在单个组件中负责所有实体域对象的持久化,封装数据访问细节

19:

EJB是基于哪些技术实现的?

EJB包括SessionBean、EntityBean、MessageDrivenBean,基于JNDI、RMI、JAT等技术实现。

20:

说出SessionBean和EntityBean的区别

SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。

EntityBean被用来代表应用系统中用到的数据。

对于客户机,SessionBean是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。

对于客户机,EntityBean是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体。

21:

StatefulBean和StatelessBean的区别。

SessionBean还可以再细分为StatefulSessionBean与StatelessSessionBean,这两种的SessionBean都可以将系统逻辑放在method之中执行,不同的是StatefulSessionBean可以记录呼叫者的状态,因此通常来说,一个使用者会有一个相对应的StatefulSessionBean的实体。

StatelessSessionBean虽然也是逻辑组件,但是他却不负责记录使用者状态,也就是说当使用者呼叫StatelessSessionBean的时候,EJBContainer并不会找寻特定的StatelessSessionBean的实体来执行这个method。

换言之,很可能数个使用者在执行某个StatelessSessionBean的methods时,会是同一个Bean的Instance在执行。

从内存方面来看,StatefulSessionBean与StatelessSessionBean比较,StatefulSessionBean会消耗J2EEServer较多的内存,然而StatefulSessionBean的优势却在于他可以维持使用者的状态。

22:

EJB与JAVABEAN的区别?

JavaBean是可复用的组件,对JavaBean并没有严格的规范,理论上讲,任何一个Java类都可以是一个Bean。

但通常情况下,由于JavaBean是被容器所创建(如Tomcat)的,所以JavaBean应具有一个无参的构造器,另外,通常JavaBean还要实现Serializable接口用于实现Bean的持久性。

JavaBean实际上相当于微软COM模型中的本地进程内COM组件,它是不能被跨进程访问的。

EnterpriseJavaBean相当于DCOM,即分布式组件。

它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。

但EJB必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。

EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。

客户通过容器来访问真正的EJB组件。

23:

EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?

SessionBean:

StatelessSessionBean的生命周期是由容器决定的,当客户机发出请求要建立一个Bean的实例时,EJB容器不一定要创建一个新的Bean的实例供客户机调用,而是随便找一个现有的实例提供给客户机。

当客户机第一次调用一个StatefulSessionBean时,容器必须立即在服务器中创建一个新的Bean实例,并关联到客户机上,以后此客户机调用StatefulSessionBean的方法时容器会把调用分派到与此客户机相关联的Bean实例。

EntityBean:

EntityBeans能存活相对较长的时间,并且状态是持续的。

只要数据库中的数据存在,Entitybeans就一直存活。

而不是按照应用程序或者服务进程来说的。

即使EJB容器崩溃了,Entitybeans也是存活的。

EntityBeans生命周期能够被容器或者Beans自己管理。

EJB通过以下技术管理实务:

对象管理组织(OMG)的对象实务服务(OTS),SunMicrosystems的TransactionService(JTS)、JavaTransactionAPI(JTA),开发组(X/Open)的XA接口。

24.EJB有哪些角色和对象

一个完整的基于EJB的分布式计算结构由六个角色组成,这六个角色可以由不同的开发商提供,每个角色所作的工作必须遵循Sun公司提供的EJB规范,以保证彼此之间的兼容性。

这六个角色分别是EJB组件开发者(EnterpriseBeanProvider)、应用组合者(ApplicationAssembler)、部署者(Deployer)、EJB服务器提供者(EJBServerProvider)、EJB容器提供者(EJBContainerProvider)、系统管理员(SystemAdministrator)

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

25.EJB容

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 工作总结汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1