`
liliang1222
  • 浏览: 158716 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

EJB读书笔记(一)

    博客分类:
  • EJB
阅读更多


EJB 五个步骤

  1. Bean
  2. 接口
  3. Xml 部署描述文件
  4. Ejb-jar
  5. 部署


 

组件接口里面声明所有业务方法

客户使用 home 接口来请求组件接口的一个引用

 

组件接口必须扩展 EJBObject

Bean 必须实现 sessionBean 接口,但 bean 不能实现组件接口

 

部署描述文件描述的是 bean 的结构,包括三个文件(组件接口、 home 接口和 bean 类)相互之间如何关联

部署描述文件的名字必须是“ ejb-jar.xml ”,而且必须放在一个名为“ META-INF ”的目录下



EJB体系结构

如果你是一个对象,而且你有另一个对象的引用,那个对象就必须和你在同一个堆中。

JAVA RMI (远程方法调用)为客户提供一个代理对象,即桩( sub , 这个代理对象相当于客户和远程对象之间的中间人,客户在桩上调用方法,桩则负责完成与远程对象的底层通信( socket 和流)

利用 RMI ,客户对象会表现得好像在做一个远程方法调用。但实际上,它只是在一个“代理”对象上调用方法,这个代理对象在客户所在的同一个堆中运行。这个代理称为“桩”,它会处理所有底层的网络 socket 和流。

服务器端有这么一个“东西“(骨架 skeleton ),桩知道怎么和它通信,另外它也知道怎么解释来自桩的消息,并在远程对象上调用一个方法

 

不需要自己建立桩和骨架。对于普通的 RMI ,使用 RMI 编译器就可以生成桩和骨架。

远程对象和桩都实现相同的接口(远程接口),这个接口包括了客户想调用的方法。远程接口必须扩展 java.rmi.Remote 。而且每个方法都必须声明一个 RemoteException

 

EJB 中,远程对象不是 bean ,它是 bean 的保镖 —EJBObject

远程对象和桩都实现了同一个接口,即业务接口(也称为组件接口),不过没有实际的业务逻辑行为

Bean 类没有实现业务接口,不过 bean 才有真正的业务逻辑功能

RMI 接口和远程组件接口之间的主要区别在于,在 EJB 中,远程组件接口扩展的是 javax.ejb.EJBObject 而不是 java.rmi.Remote EJBObject 接口扩展了 Remote ,所以 EJBObject 是一个远程接口。通过组件接口将业务方法展现给客户。

 

谁来创建 EJBObject 类?

由容器来建,你来声明方法,由容器实现你的组件接口。

 

我们创建:组件接口, bean 类, home 接口

容器创建: EJBObject 类, EJBObject 桩类, Home 类, Home 桩类

 

EJBObject 类提 bean 类完成安全、事务等事项,而桩就像上面说的来负责完成与远程对象的底层通信

 

每个会话 bean 和实体 bean 都有一个 Home ,消息驱动 bean 没有 home Home 的任务就是分发该 bean 组件接口的引用。


客户远程方法调用流程(假设AdviceBean是个sessionBean):

1.  AdviceBean 得到部署,服务器实例化一个 AdviceBean Home 对象,并向 JNDI 注册该 Home 对象  

2.  客户对 Home 完成一个 JNDI 查找,这里使用前面注册的名字“ Advisor

3.  JNDI 发回远程 Home 对象的一个桩  

4.  客户通过调用 create ()向 Home 请求组件接口的一个引用。(客户想“创建“一个 bean ,并得到该 bean EJBObject 的一个桩)

5.  现在“服务“介入, bean 得到创建  

6.  建立 EJBObject ,它的桩返回给客户  

7.  客户在 bean 上调用一个业务方法  

8.  客户不想访问该类的更多 bean 时,可以删除他的 home 桩,不过即使删除了 Home 桩,仍然可以继续调用组件接口上的方法。  

 

 

分享到:
评论

相关推荐

    EJB笔记,但愿对喜欢EJB的朋友有所帮助

    首先,我们从EJB(day01).txt开始,第一天的笔记主要介绍了EJB的基本概念。EJB是Java EE(Java Platform, Enterprise Edition)规范的一部分,它定义了一种用于创建在服务器端运行的可重用组件的标准。EJB组件主要...

    学习EJB3基础知识笔记

    在"学习EJB3基础知识笔记"中,我们将深入探讨EJB3的主要特性和使用方法。 1. **注解驱动的编程模型**: EJB3引入了注解,极大地减少了XML配置文件的使用。通过在实体类、接口或实现类上添加注解,如`@Entity`、`@...

    OpenEjb使用笔记--让Tomcat可以部署EJB

    通过阅读源码,你可以深入了解EJB的部署、实例化、调用过程,以及OpenEjb如何与Tomcat协同工作的细节。 总结起来,OpenEjb为Tomcat提供了EJB支持,使得开发者可以在轻量级应用服务器上利用EJB的强大功能。这不仅...

    《Java高手真经:Java Web高级开发技术》读书笔记模板.pptx

    该资源为Java开发者提供了一个系统的Java Web高级开发技术教程,从Java高手真经(高级编程卷):Java Web高级开发技术读书笔记模板开始,到Java Web企业级开发技术EJB,最后到Java Web高级开发技术 frameworks与开源...

    ssm读书笔记.docx

    POJO的主要特点在于它的无特定规范性,它不遵循像EJB(Enterprise JavaBeans)这样的企业级框架标准,也不包含任何特定的框架接口或实现,如持久化、事务管理等。POJOs通常用于表示数据模型,它们可以作为DTO(Data ...

    java完美经典读书笔记

    以上知识点只是《Java完美经典》读书笔记中的一部分,完整的笔记还包括对这些概念的深入探讨,例如设计模式、并发编程、数据库操作、XML处理等。通过阅读并实践这些笔记,Java开发者能够不断巩固和提高自己的编程...

    ejb教材

    超星格式通常是一种电子书格式,它方便在各种设备上阅读,同时也可能包含一些交互功能,如笔记和搜索。 EJB的核心概念包括: 1. **会话bean**:这些bean代表客户端的会话,并处理业务逻辑。会话bean可以是无状态的...

    软件工程师学习笔记大全(C++ JAVA)

    《软件工程师学习笔记大全》是针对C++和JAVA这两门编程语言的学习...这些笔记集合为学习者提供了一条系统性学习C++和JAVA的路径,通过阅读和实践,可以逐步提升软件工程师的专业技能,更好地应对实际开发工作中的挑战。

    Java学习笔记(必看经典)

    Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems...通过阅读《Java学习笔记(必看经典)》和《Java与模式》,初学者或有经验的开发者都能深入理解Java编程,并掌握设计和实现高效、可维护的Java应用的方法。

    完善后的在线云笔记系统

    json(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在前后端交互中,json成为数据传输的首选格式。本项目中,json用于在服务器和客户端之间传递笔记数据...

    李兴华java word版全部笔记

    这个压缩包中的Word文档格式使得笔记易于阅读和编辑,对于学习者来说,可以方便地做笔记、添加注释或进行个性化整理。在学习过程中,结合实际编程练习,可以更好地理解和掌握Java编程技能,从而提升编程能力。

    《良葛格的Java学习笔记》

    14. **Java EE**:对于进一步的学习,笔记可能还会提及Java企业版(Java EE),它为构建分布式、基于Web的应用提供了服务器端框架,包括Servlet、JSP、EJB等技术。 15. **实战项目**:学习笔记通常会包含一些简单的...

    软件工程师学习笔记J2EE

    《软件工程师学习笔记J2EE》是一份针对Java企业级应用开发(J2EE)的详尽学习资源,对于想要深入理解和掌握J2EE技术体系的软件工程师来说,具有极高的参考价值。这份笔记不仅全面覆盖了J2EE的基础概念,还深入探讨了...

    spring高级源码笔记.pdf

    Spring框架是Java开发领域中的一个核心支柱,以其强大的功能和灵活性深受开发者喜爱。Spring的核心理念是依赖注入...在阅读过程中,做笔记是非常重要的,可以帮助理解和记忆,同时也可以作为未来解决问题的参考资料。

    java学习笔记

    Java学习笔记是一个全面涵盖Java编程语言基础知识的资源集合,非常适合初学者进行系统性的学习。Java是一种广泛应用的面向对象的编程语言,以其“一次编写,到处运行”的特性而著名,这得益于其跨平台的JVM(Java...

    Java从零基础到精通详细笔记高清完整PDF版

    - **EJB(Enterprise JavaBeans)**:Java EE的一种服务器端组件模型,用于开发可伸缩和安全的事务型中间层。 - **设计模式**:软件设计中解决特定问题的一般性概念模板。 ### 学习资源 文档还提供了一个视频教程...

    java面试题-读书笔记-面试失败一次就记录一次的坑-不知不觉已经这么多了.docx

    而JBoss是一个应用服务器,支持EJB等企业级服务。 - **服务范围**:Apache擅长处理HTML、CSS、JavaScript等静态资源,Tomcat则擅长处理动态内容,而JBoss提供更全面的服务,包括事务管理、安全性和JMS等。 5. **...

    韩顺平servlet笔记.rar下载

    韩顺平老师的2011细说Servlet完整笔记.doc可能涵盖了上述所有内容,通过阅读笔记,你可以深入了解Servlet的工作原理,学会如何编写、配置和调试Servlet,以及如何在实际项目中应用Servlet进行Web开发。这份笔记对于...

    【读书笔记】Java参考大全-J2EE5版本

    通过阅读这本书,我们可以学习到一系列关于Java语言和J2EE5框架的核心概念、最佳实践以及实际应用。 首先,J2EE5是Java Enterprise Edition的第五个版本,它提供了许多用于构建分布式、多层的企业级应用程序的工具...

    Spring框架高级源码笔记+Spring Boot data mongoDB中文文档 资源合集

    并且阅读过程中如何给自己做一个日后的笔记。内容以Spring主流框架为目标,做到尽可能详细的给阅读者带来好的理解 本文档是Spring框架高级源码笔记+Spring Boot data mongoDB中文文档 资源合集

Global site tag (gtag.js) - Google Analytics