EJB是Enterprise JavaBean的缩写,在J2EE中位于业务层,实现应用系统的业务逻辑,是J2EE的核心内容。EJB有两种分类方法,按照实现的功能,分为三类:会话Bean、实体Bean和消息驱动Bean;按照调用的方式分为两类:远程EJB和本地EJB。
之所以有这么多种分类,是为了满足各种不同的需求。下面一一罗列他们各自的用途。
依据实现的功能:
会话Bean:非持久性对象,实现业务逻辑。它代表与客户程序一次短暂的会话,而且可能执行数据库的读写操作,也可以通过实体Bean来完成;Session Bean的客户程序实际上是直接调用ejb类的实例,甚至是这个实例的方法,同一个类的不同实例对于Session Bean来说是不同的用户。Session分类两种:有状态会话Bean和无状态会话Bean。
有状态会话Bean:每个用户有自己特有的一个实例,在用户的生存期内,Bean保持了用户的信息,既“有状态”;一旦用户灭亡(调用结束或实例结束),Bean的生命期也结束。既每个用户最初都会得到一个初始的Bean。实际用途:网上购物车的功能。
无状态会话Bean:Bean一旦实例化就被加进会话池中,各个用户都可以共用。即使用户已经消亡,Bean的生命期也不一定结束,它可能依然存在于会话池中,供其他用户调用。由于没有特定的用户,那么也就不能保持某一用户的状态,所以叫无状态Bean。但无状态会话Bean并非没有状态,如果它有自己的属性(变量),那么这些变量就会受到所有调用它大的用户影响。实际用途:登录验证、完成单一的算法等。
实体Bean:持久性对象,实现底层数据的对象化。用于实现O/R映射,负责将数据库中的表记录映射为内存中的Entity对象,事实上,创建一个Entity Bean对象相当于新建一条记录,删除一个Entity Bean会同时从数据库中删除对应记录,修改一个Entity Bean时,容器会自动将Entity Bean的状态和数据库同步,此模型适用于关系型数据库。因为和数据库保持同步状态,所以它是长寿命的,并且是事务的。实体Bean一般就用的就比较多了,比如储存客户的一些基本信息,商品信息等等。
消息驱动Bean(缩写MDB):是EJB2.0中引入的新企业Bean,它基于JMS消息,只能接受客户端发送的JMS消息然后处理。MDB实际是一个一步的无状态Session Bean,客户端调用MDB后无需等待,立即返回,MDB将异步处理客户的请求。比如订单处理,客户端只需填写完订单后提交,不需要等待返回结果。
依据调用的方式:
远程EJB:运行在不同的JVM中,甚至不同的机器上,可以通过RMI机制进行调用。
本地EJB:运行在同一个JVM中,不能使用RMI机制进行调用,可以直接调用。
分享到:
相关推荐
中文版EXPERT-ONE-ON-ONE-J2EE-DEVELOPMENT-WITHOUT-EJB.part2.rar
中文版EXPERT-ONE-ON-ONE-J2EE-DEVELOPMENT-WITHOUT-EJB.part3.rar
中文版EXPERT-ONE-ON-ONE-J2EE-DEVELOPMENT-WITHOUT-EJB.pdf
J2EE - JBoss - EJB with Eclipse.rar
ejb-jar元素是EJB发布描述器的根元素,它包含一个可选的EJB-JAR文件的描述,可选显示的名称,可选小图标的文件名,可选的大图标的文件名,必须的所有被包含的enterprise bean 的结构信息 ,可选的应用装配描述器,可选的...
J2EE,EJB,J2EE,EJB,J2EE,EJB,J2EE,EJB,J2EE,EJB,J2EE,EJB,J2EE,EJB,J2EE,EJB,
J2EE Persistence Options - JDO, Hibernate and EJB 3.0.pdf
The ejb-jar element is the root element of the EJB deployment descriptor. It contains an optional description of the ejb-jar file, optional display name, optional small icon file name, optional large ...
j2ee_jboss_ejb(English)清晰
基于java的开发源码-Message-Driven Bean EJB实例源代码.zip 基于java的开发源码-Message-Driven Bean EJB实例源代码.zip 基于java的开发源码-Message-Driven Bean EJB实例源代码.zip 基于java的开发源码-Message-...
本书全面深入地介绍了当今最热门的编程技术——J2EE平台开发技术,该技术主要用于开发基于Internet的多层结构应用程序。本书全面介绍了JSP 层,EJB 层和EIS 层的设计思想与编程技术等. 基于网上可获得版本制作,补全...
Java.J2EE.EJB-Enterprise.JavaBeans, 3rd Edition-Titan.Books
Expert One-on-one J2EE Expert One-on-one J2EE Expert One-on-one J2EE
J2EE 教材 java ejb Web
J2EE包括以下技术: EJB:Enterprise JavaBeans 企业JavaBean组件 IDL:Interface Definition Language 接口定义语言...
J2EE-CarnetContact-EJB-3.0 CarnetContact 是一个 J2EE 应用程序,用于管理 Book Contacts(重量级容器、EJB 3.0、JPA、JSF、JBoss)
j2ee教程,讲解ejb的应用,对于有意从事java行业的程序员有很好的帮助,希望大家成功!
《Expert-One-on-one J2EE Development Without EJB》一书的英文版本
J2EE.DEVELOPMENT.WITHOUT.EJB中文版
Expert One-on-One J2EE Development Without EJB中文版.pdf.7z.002(共3个)