当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:14:00  来源:本站整理

Enterprise JavaBeans组件慨述之二[Java编程]

赞助商链接



  本文“Enterprise JavaBeans组件慨述之二[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

EJB 编程模子

本文的第二部份阐明成立 Enterprise JavaBean 组件所需的 Java 接口和类的作用.除了对 bean 类本身举行编码外,EJB 开辟人员还必须为 bean 定义一个本地接口和一个远程接口.这些接口的实现类普通由容器生成,因此布置 EJB 组件是开辟人员和 EJB 容器的合作行为.第二部份还辨别了 enterprise bean 的两种主要范例,即会话 bean 和实体 bean,并阐明了 EJB 容器和 EJB 服务器之间的关系.

enterprise bean 的编程模子的三个关键特点是:面向对象、对象的分布式和利用代理对象.由于此编程模子利用 Java 技术,因此它在本质上就是面向对象的.此模子也是分布式的,这是指 bean 在理论上是位置透明的.按照 Enterprise JavaBeans (EJB) 标准,“普通说来,EJB 类和 EJB 容器的实际位置对客户机是透明的.”在客户机想要拜候 EJB 组件时利用代理对象.bean 本身关于客户机是不可拜候的,对 bean 办法的拜候则由 helper 类供应.

接口、拜托和代理

当 Java 程序员编写一个 Enterprise JavaBeans 组件时,他们所成立的类必须实现一个 EJB 接口,并且它必须包含一个名为 ejbCreate() 的办法.一个 EJB 接口 -- 比方 SessionBean 接口 -- 指定了一些办法,它们包含以下各项:

ejbActivate()

ejbPassivate()

ejbRemove()

setSessionContext()

ejbActivate() 和 ejbPassivate() 办法告诉一个 bean,管理该 bean 的容器组件正在主动和被动之间切换 bean 的状况(这普通是指在内存中还是交换到磁盘).ejbRemove() 办法使 bean 知道它已被安闲器中删除.setSessionContext() 办法使 bean 与一个上下文对象相关联,此上下文对象是为了便于 bean 与其容器举行通信.

ejbCreate() 办法并非从零做起成立 enterprise bean 的.当客户机想要成立新的 enterprise bean 时,bean 的容器将调用这个 bean 的类的 newInstance() 办法,来实例化新的 bean 对象.然后容器调用 setSessionContext() 办法来成立上下文对象,用于与 bean 举行通信.最后,容器调用新 bean 中的 ejbCreate() 办法.像 ejbCreate()、ejbActivate() 和 ejbPassivate() 这样的办法有时称为对象生存周期办法,以辨别于业务逻辑办法.

当开辟人员计划一个新的 EJB 组件时,编写构成 enterprise bean 类的代码本身是不够的.EJB 程序员还必须编写两个将由 helper 类利用的 Java 接口.这些强迫性接口必须扩大尺度的 EJBObject 和 EJBHome 接口,而这两个接口则都是 java.rmi.Remote marker 接口的扩大.扩大尺度 EJBObject 接口的接口被称为 enterprise bean 的远程接口,它指定在 bean 自身中定义的业务办法.当利用程序调用 enterprise bean 中的业务办法时,利用程序并不拜候 bean 本身.实际上,办法调用被传送给实现 EJBObject 接口扩大的那个对象.这种做法称为拜托,它是 EJB 体系构造中的一个计划要点:

“客户机历来不直接拜候 enterprise bean 类的实例.客户机老是利用 enterprise bean 的远程接口来拜候 enterprise bean 的实例.实现 enterprise bean 的远程接口的类由容器供应.此类所实现的分布式对象称为 EJB 对象.”(Enterprise JavaBeans Specification 1.0)

bean 对 EJBObject 接口的扩大称为其远程接口,而实现远程接口的对象则称为 EJB 对象.

enterprise bean 还必须具有本地接口.此接口是尺度 EJBHome 接口的扩大.实现 bean 的本地接口的对象称为本地对象.本地对象包含一个 create() 办法,此办法由利用程序调用,而利用程序则必须成立一个 bean 实例.本地对象中的 create() 办法成立一个新的 EJB 对象.它并不直接成立新的 enterprise bean 实例,因为不答应直接拜候 bean.

EJB 对象和本地对象充当 bean 对象的代理,因为它们代表 bean 接纳办法调用.EJB 对象主要为 bean 业务办法充现代理;本地对象主要为 bean 生存周期办法充现代理.

为 EJB 组件利用 create() 办法并不一定要实例化新的 bean.容器肯定若何最好地满意成立恳求,关于某些范例的 bean,它可以重用现有的实例:

“客户机利用会话 bean 本地接口上的 create 和 remove 办法.固然客户机认为它正在掌握着 EJB 实例的生存周期,但是,是容器在处理 create 和 remove 调用,而不一定要成立和删除 EJB 实例.在客户机和...实例之间不存在固定的映射.容器只是将客户机的工作拜托给任何一个办法已经就绪的可用实例罢了.”(Enterprise JavaBeans Specification 1.0)

成立新的 bean 实例受容器的掌握,并可以与客户机公布 create() 办法异步.

当成立一个 EJB 组件时,开辟人员负责定义 EJBObject 接口和 EJBHome 接口,但是无需编写实现这些接口的类的代码.EJB 容器软件组件自动成立这些类.

下面的代码段阐明客户机利用程序大概怎样利用称为 CartBean 的 enterprise bean 来举行在线购物:

CartHome cartHome = javax.rmi.PortableRemoteObject.narrow(
initialContext.lookup("applications/shopping_cart"), CartHome.class);
Cart cart = cartHome.create();
cart.addItem(item29);
cart.addItem(item67);
cart.addItem(item91);
cart.purchase();
cart.remove();


  以上是“Enterprise JavaBeans组件慨述之二[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 用 Windows Media Center娱乐资源齐畅享
  • 用 Windows Media Center看互联网视频
  • Windows家庭医生Microsoft Fix it Center
  • 办理IIS 80端口占用招致vcenter server启动不了的办法
  • JavaBean与Enterprise JavaBean的辨别
  • Enterprise bean的开辟
  • <b>操纵NetBeans IDE测试Enterprise Beans</b>
  • Enterprise JavaBeans组件慨述之一
  • Enterprise JavaBeans组件慨述之二
  • Enterprise JavaBeans组件慨述之三
  • 无情况Enterprise JavaBeans的概念
  • Enterprise JavaBeans入门
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .