`

EJB理论

阅读更多

1、EJB与JAVA BEAN的区别

      Java Bean 是可复用的组件,对Java Bean并没有严格的规范,理论上讲,任何一个Java类都可以是一个Bean。但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地进程内COM组件,它是不能被跨进程访问的。Enterprise Java Bean 相当于DCOM,即分布式组件。它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。但EJB必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。

 

2、EJB包括(SessionBean,EntityBean)的生命周期,及管理事务

      SessionBean:Stateless Session Bean 的生命周期是由容器决定的,当客户机发出请求要建立一个Bean的实例时,EJB容器不一定要创建一个新的Bean的实例供客户机调用,而是随便找一个现有的实例提供给客户机。当客户机第一次调用一个Stateful Session Bean 时,容器必须立即在服务器中创建一个新的Bean实例,并关联到客户机上,以后此客户机调用Stateful Session Bean 的方法时容器会把调用分派到与此客户机相关联的Bean实例。

  EntityBean:Entity Beans能存活相对较长的时间,并且状态是持续的。只要数据库中的数据存在,Entity beans就一直存活。而不是按照应用程序或者服务进程来说的。即使EJB容器崩溃了,Entity beans也是存活的。Entity Beans生命周期能够被容器或者 Beans自己管理。

  EJB通过以下技术管理实务:对象管理组织(OMG)的对象实务服务(OTS),Sun Microsystems的Transaction Service(JTS)、Java Transaction API(JTA),开发组(X/Open)的XA接口。

 

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

 

5、EJB容器提供的服务


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

 

  6、EJB规范规定EJB中禁止的操作有哪些?

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

 

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

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

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

 

  8、bean 实例的生命周期

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

 

  9、EJB的激活机制

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

 

  10、EJB的几种类型

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

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

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

 

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

  答:设置JNDI服务工厂以及JNDI服务地址系统属性,查找Home接口,从Home接口调用Create方法创建Remote接口,通过Remote接口调用其业务方法。

 

12:CMT事物属性
 
Mandatory-当使用这个值时,bean方法被调用时必须有一个事务已经处在运行中.
Never-如果在现有事务中调用此bean,容器将抛出java.rmi.RemotException.
Required-bean方法必须总是在事务上下文中执行.
RequiresNew-当方法被调用的时候,bean总会需要启动一个新的事务
Supports可以参与到正在运行的事务中,但这个事务并不是必须的.
Not Supported-该值意味着在事务中bean或者方法根本不能被调用.

 

25.EJB需直接实现它的业务接口或Home接口吗,请简述理由。
远程接口和Home接口不需要直接实现,他们的实现代码是由服务器产生的,程序运行中对应实现类会作为对应接口类型的实例被使用。

分享到:
评论

相关推荐

    EJB方面 ejb pdf

    理论上任何Java类都可能被视为一个Bean,但在实践中,JavaBean通常具备无参数构造函数,并实现了`Serializable`接口以支持持久化。JavaBean类似于COM模型中的本地进程内组件,不具备跨进程访问能力。 - **...

    ejb概念与理论解释

    适合初学者查看,详细介绍了ejb概念与理论

    ejb\ejb3.0实例教程

    【ejb\ejb3.0实例教程】 在Java企业级开发中,Enterprise JavaBeans (EJB) 是一种核心组件模型,用于构建可扩展、安全且事务管理的服务器端应用...记得在实践中不断尝试,理论与实践相结合,才能更好地掌握这项技术。

    图解eclipse+myelcipse开发EJB

    【图解Eclipse+MyEclipse开发EJB】是一篇介绍如何使用Eclipse和MyEclipse集成开发环境来创建和管理Enterprise ...在实际开发中,除了理解EJB的理论知识,还需要熟悉所选服务器的配置和管理,以及IDE提供的工具和特性。

    EJB教程(技术规范)

    Enterprise JavaBeans (EJB) 是Java平台上用于...学习EJB不仅能够帮助开发者深入理解分布式系统的设计,也为理解现代框架提供了历史背景和理论基础。阅读"EJB.chm"文件,将有助于你全面掌握EJB技术规范及其应用场景。

    websphere,ejb教程

    1. **基础理论**:理解Java EE和Web服务的基本概念,包括Servlet、JSP和EJB的基础知识。 2. **安装与配置**:安装Websphere应用服务器,并学习如何配置和管理。 3. **EJB实践**:通过编写和部署简单的EJB组件来熟悉...

    Mastering EJB 2nd edition

    11. **案例研究**:通过实际案例展示EJB在复杂企业级项目中的应用,帮助读者理解理论知识的实际应用。 此外,书中的链接提供了额外的学习资源,如TheServerSide.com网站,可以获取最新的J2EE新闻和讨论;而The ...

    EJB全实例教程

    本**EJB全实例教程**旨在帮助开发者全面理解和掌握EJB的相关知识,通过实例学习,让理论与实践相结合,提升实际开发能力。教程涵盖了EJB的基础概念、主要组件类型、生命周期管理、事务处理、安全性、远程接口等方面...

    ejb3.0入门图文教程

    EJB 3.0是EJB规范的一个重大改革,它极大地简化了EJB的开发过程,使得Java开发者能够更加容易地利用EJB的强大功能。本教程将深入讲解EJB 3.0的基础知识,帮助初学者快速入门。 首先,我们来看《EJB3.0开发Entity....

    EJB.rar_EJB3_EJB3.0_ejb

    **EJB 3.0 开发详解:异常处理与常见问题解决方案** Enterprise JavaBeans (EJB) 是Java EE平台的核心组件之一,...记住,实践是检验真理的唯一标准,理论知识的积累配合实际项目经验,将使你成为EJB 3.0开发的专家。

    Java之精通EJB3.0.pdf

    - 实战案例分析,帮助读者将理论知识应用于实际项目中。 总之,《精通EJB3.0》是一本内容丰富、实用性强的专业书籍,适合所有希望深入了解并掌握EJB3.0技术的开发者阅读。无论是初学者还是有经验的开发人员,都能...

    EJB教程之PDF版

    最后,教程可能会包含一些实战案例,指导读者如何设计和实现一个完整的EJB项目,以巩固理论知识并提高实际操作能力。 通过这份详尽的EJB教程,无论是初学者还是有一定经验的开发者,都能系统地提升对EJB的理解和...

    EJB教学资源

    这些资源对于初学者来说是一套全面的学习路径,通过系统的实践和理论结合,可以帮助开发者快速掌握EJB3.0的核心技术和最佳实践。学习过程中,建议结合真实项目进行练习,以更好地理解和运用EJB3.0在实际开发中的优势...

    Mastering_EJB_3.0.pdf

    通过这些实践,读者可以深入学习EJB 3.0的技术细节,并掌握如何将这些理论应用于具体的项目开发中。 总之,《掌握企业Java Beans 3.0》这本书详细介绍了EJB 3.0的核心概念、关键特性和最佳实践,对于希望深入了解...

    EJB设计模式Ejb中涉及到的设计模式详解

    EJB设计模式是软件开发中的重要概念,它借鉴了设计模式的经典理论,目的是提升EJB架构的灵活性、可扩展性、可维护性和性能。通过运用这些模式,开发者能够更好地组织和管理EJB组件,降低系统的耦合度,提高组件的...

    EJB3.0入门经典(PDF)

    《EJB3.0入门经典》是关于EJB 3.0的专业技术教程,从实用的角度出发,理论联系实际,用9章的篇幅详细讲解了EJB 3.0开发的方法和技巧。《EJB3.0入门经典》内容丰富,讲解由浅入深,全面系统,在讲解EJB 3.0最新开发...

    EJB 3.0入门经典 源码

    本书是关于EJB 3.0的专业技术教程,从实用的角度出发,理论联系实际,用9章的篇幅详细讲解了EJB 3.0开发的方法和技巧。  本书内容丰富,讲解由浅入深,全面系统,在讲解EJB 3.0最新开发技术的同时,精心设计了与...

    EJB3.0学习之运行环境配置

    综上所述,EJB3.0的学习和实践不仅涉及理论知识的理解,还要求掌握一系列工具和环境的配置技巧。通过上述步骤,开发者可以搭建起一个完整的EJB3.0开发和运行环境,从而开始探索和利用EJB3.0的强大功能。

    ejb3.0实例教程及源码

    EJB(Enterprise JavaBeans)是Java EE平台中的核心组件,用于构建可扩展、安全和事务处理的企业级应用程序。...同时,提供的实例教程将详细指导如何创建、部署和测试EJB3.0组件,确保理论与实践相结合,加速学习进程。

    Head First EJB(中文版)

    最后,书中会有大量实例和练习,帮助读者将理论知识应用于实践,掌握如何设计和部署EJB应用,以及如何与Java EE的其他组件(如Servlet、JSP、JPA等)集成。 总的来说,这本书是学习EJB技术的优秀资源,无论是对初学...

Global site tag (gtag.js) - Google Analytics