`
yuanlanxiaup
  • 浏览: 859046 次
文章分类
社区版块
存档分类
最新评论

J2EE核心技术--EJB组成和运行机制

 
阅读更多

之前说了EJB的分类,这篇介绍一下EJB的组成和运行机制。EJB由四部分组成:Home接口、Remote接口或Local接口、Enterprise Bean类和部署描述文件。

EJB组成:

Home接口扩展了javax.ejb.EJBHome或javax.ejb.EJBLocalHome接口,扩展了前者的接口称为远程Home接口,扩展了后者的叫本地Home接口。在开发EJB时,必须要定义Home接口,它的作用是声明创建、删除和查找EJB对象的方法。但是,不用编写接口的实现类,他们的实现类将由容器自动生成。在定义远程接口时,必须要抛出RemoteException异常。可以在Home接口中定义的方法:

Create方法:抛出CreateException异常,返回类型是Remote接口或Local接口类型;

Finder方法:只能在实体Bean;

Home方法:只能在实体Bean;

Remote接口或Local接口,作用是声明处理业务逻辑的各种方法,这些方法将最终开放给客户调用。开发EJB时只定义其中一种或两种均可,但是并不用去实现它们,容器会在编译时根据接口定义和Enterprise Bean类的内容自动创建一个实现了这个接口的类。

Enterprise Bean类:实现了javax.ejb.EnterpriseBean接口的类。此类中定义的方法主要由三种类型:

Remote接口声明方法的实现

Home接口声明方法的实现

容器回调方法的实现

J2EE提供了扩展Javax.ejb.EnterpriseBean接口的新接口,这些接口中声明了容器回调函数,他们是javax.ejb.SessionBean、javax.ejb.EntityBean、javax.ejb.MessageDrivenBean。这三个接口中声明的方法主要供容器回调的函数。其中:

EjbCreate方法:是与Home接口中定义的create方法相对应的实现;名称和参数都要与Home接口中定义的create相匹配,但返回类型是void,和create不一样。

EjbRemove、ejbActivate、ejbPassivate和setSessionContext方法则是提供给容器回调的函数。

部署描述文件:EJB规范中要求的部署描述文件只有一个,既ejb-jar.xml,这个文件描述了一些与容器无关的EJB组件信息。但是对于不同的容器,他们可能还要求提供一些与容器相关的部署描述文件,比如WebLogic还需要weblogic-ejb-jar.xml文件。

EJB运行机制

服务器端:在EJB组件部署到容器上后,容器会自动生成三个对象,这三个对象是:Home对象、Remote对象或Local对象、Enterprise Bean对象。

客户端调用流程:使用JNDI机制绑定与定位EJB,Context.lookup找回是Home对象,然后在使用Home接口的create方法创建Remote对象;调用Remote接口中的业务方法;使用完EJB应该调用remove方法删除。

分享到:
评论

相关推荐

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (1)

    5.1.2 Eclipse的运行机制 5.2 建立Eclipse的开发环境 5.2.1 下载Eclipse 5.2.2 配置Eclipse 5.3 整合Eclipse和Tomcat 5.3.1 下载Eclipse的Tomcat插件 5.3.2 为Eclipse配置Tomcat插件 5.4 使用Eclipse建立Web开发项目...

    J2EE中文版指南 CHM格式 带全文检索

    为查找方法和Select方法定义EJB QL查询 119 七 CMP的主键 119 主键类 119 实体Bean类中的主键 120 产生主键值 121 第7章 一个消息驱动Bean的例子 122 一.例子应用程序介绍 122 二.J2EE应用程序客户端 123 三.消息...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (2)

    5.1.2 Eclipse的运行机制 5.2 建立Eclipse的开发环境 5.2.1 下载Eclipse 5.2.2 配置Eclipse 5.3 整合Eclipse和Tomcat 5.3.1 下载Eclipse的Tomcat插件 5.3.2 为Eclipse配置Tomcat插件 5.4 使用Eclipse建立Web开发项目...

    EJB中用JMS模拟多线程机制的设计和实现

    EJB中用JMS模拟多线程机制的设计和实现 作者:高燕 李旭伟 文震 来源:工业技术 / 自动化技术、计算机技术收藏本文章 多线程机制是提高系统执行效率的关键,但对于采用EJB技术的服务器端,由于EJB规范限制使用多线程...

    基于J2EE和ArcIMS的地籍管理WebGIS-----南京地税地理信息系统

    该文在研究分析J2EE和ArcIMS结构体系和运行机制的基础上,结合具体的项目开发实例,论述了基于二者结合下的多层分布式WebGIS总体架构的设计以及系统的逻辑层次与功能部署,并对系统利用EJB组件实现地理空间信息与非...

    J2EE应用开发详解

    91 6.2 CSS 92 6.3 XSLT 94 6.4 小结 96 第7章 Ajax简介 97 7.1 Ajax简介 97 7.2 Ajax技术核心 100 7.2.1 XMLHttpRequest对象的常用方法 100 7.2.2 标准的XMLHttpRequest属性 101 7.3 一个简单的Ajax实例 101 7.4 小...

    J2EE系统设计方案.doc

    J2EE技术的 基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如"编写一次、随处运行"的特 性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式...

    基于J2EE的B2C电子商务系统开发(论文+系统+开题报告+文献综述+任务书+答辩PPT+中期报表+外文文献+说明书)

    J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如"编写一次、随处运行"的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等...

    J2EE系统设计方案(1).doc

    J2EE技术的 基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如"编写一次、随处运行"的特 性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式...

    《程序天下:J2EE整合详解与典型案例》光盘源码

    5.1.2 Eclipse的运行机制 5.2 建立Eclipse的开发环境 5.2.1 下载Eclipse 5.2.2 配置Eclipse 5.3 整合Eclipse和Tomcat 5.3.1 下载Eclipse的Tomcat插件 5.3.2 为Eclipse配置Tomcat插件 5.4 使用Eclipse建立Web开发项目...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (3)

    5.1.2 Eclipse的运行机制 5.2 建立Eclipse的开发环境 5.2.1 下载Eclipse 5.2.2 配置Eclipse 5.3 整合Eclipse和Tomcat 5.3.1 下载Eclipse的Tomcat插件 5.3.2 为Eclipse配置Tomcat插件 5.4 使用Eclipse建立Web开发项目...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    2.8 JSF的运行流程和生命周期 109 2.8.1 恢复视图阶段 110 2.8.2 应用请求值阶段 110 2.8.3 处理输入校验阶段 111 2.8.4 更新模型的值阶段 111 2.8.5 调用应用阶段 111 2.8.6 生成响应阶段 111 2.9 利用JSF的消息 ...

    ibm_java(ibm课程系列)

    J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如"编写一次、随处运行"的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等...

    java 面试题 总结

    EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。 21、Static Nested Class 和 Inner Class的不同。 Static Nested Class是被声明为静态(static)的内部类,它可以不依赖...

    java学习重点

    2 J2EE的相关技术:EJB,SEVILET,JSP等; 3 源文件(*.java) --------->类文件(*.class) --------->java虚拟机(JVM) 编译器 解释器 4 应用程序层 Java应用程序 Java平台层 Java虚拟机 操作系统层 UNIX ...

    超级有影响力霸气的Java面试题大全文档

    EJB容器是EJB组件的代理, EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。 24、Static Nested Class 和 Inner Class的不同。 Static Nested Class是被声明为静态(static)的内部类,它可以不...

    各大企业java面试笔试题

    1.J2EE是什么?...EJB与JAVA BEAN是SUN的不同组件规范,EJB是在容器中运行的,分步式的,而JAVA BEAN主要是一种可利用的组件,主要在客户端UI表现上。 5.JAVA中的多形与继承? 可出编程,选择题。

    精通 Hibernate:Java 对象持久化技术详解(第2版).part2

    第1章 Java应用分层架构及软件...附录D 发布和运行netstore应用  D.1 运行netstore所需的软件  D.2 netstore应用的目录结构  D.3 安装SAMPLEDB数据库  D.4 安装和配置JBoss服务器  D.5 发布netstore应用 ...

    java基础题 很全面

    39. Java中的异常处理机制的简单原理和应用。 11 40. 垃圾回收的优点和原理。并考虑2种回收机制。 11 41. 你所知道的集合类都有哪些?主要方法? 12 42. 描述一下JVM加载class文件的原理机制? 12 43. char型变量中能不...

    千方百计笔试题大全

    EJB2.0和EJB1.1的区别? 51 205、EJB与JAVA BEAN的区别? 51 206、EJB的基本架构 51 207、MVC的各个部分都有那些技术来实现?如何实现? 52 208、J2EE是什么? 52 209、WEB SERVICE名词解释。JSWDL开发包的介绍。JAXP...

Global site tag (gtag.js) - Google Analytics