网站大量收购独家精品文档,联系QQ:2885784924

EJB课件.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EJB课件

EJB 3.0 一、总体介绍: EJB(Enterprise Java Bean,企业级Java Bean)是基于Java的服务器端组件框架技术。开发者借助于它,能够轻松构建企业级、分布式组件应用。开发者借助于Java EE,能够快速构建分布式、伸缩性强、可靠的、便携性好、安全的服务器端应用。 EJB是一种组件,软件组件是由程序代码构成,它将抽象概念的行为进行具体化。组件本身都含有运行自身所需的各类文件,能够独立于具体的应用,而且能够在不同场合重用它们,利用它们组装具体行业的应用或者系统软件。 1、分布式应用需要考虑的方方面面: 远程方法调用;负载均衡;透明性容错;后端集成;事务;群集;动态重新部署;完全关机;日志和评审;系统管理;线程;面向消息的中间件;组件生命周期;资源池;安全性;缓存… 2、EJB标准本身由以下两部分构成: ①规范。 规范阐述了EJB组件与Java EE应用服务器之间的约定,它对EJB组件的开发进行约束。Write once,Run anywhere! ②一套Java接口。EJB组件和Java EE应用服务器都必须支持这套接口。这样,应用服务器就能够管理兼容于EJB标准的EJB组件。 3、EJB用以辅助解决业务问题。通常,EJB组件能够完成以下类型的操作: 完成业务逻辑;—— 比如进行较复杂的商业运算。 访问数据库;—— EJB能够使用大量不同技术访问数据库。 集成其它系统;—— 比如访问基于C开发的高事务性系统。 富(rich)客户端;—— 通常,富客户直接在用户机器的桌面运行。 动态生成的Web页面;—— 应用于事务型、人性化的Web网站。 Web服务客户。—— 和业务合作伙伴的应用进行交互。 生成Ejb-jar文件 二、EJB的机制(RMI的原理):重点 RMI 远程方法调用,不同JVM的进程。 运用代理/委托模式 使用EJB能够快速开发和部署分布式组件。分布式组件可供远程系统访问。分布式组件又被称为分布式对象、远程对象。无论是同一进程内的客户,还是进程外的客户及网络中的其他客户,都能够与分布式对象进行交互。 远程方法调用(RMI)过程涉及到的主要步骤如下: (1)客户调用存根(stub),它是客户端提供的代理对象。Stub负责将网络通信屏蔽掉,这对于客户而言意义深远。它能够使用Socket访问网络中的其他资源。而且,还能够将Java对象(参数)转换成底层网络要求的特定格式。 (2)借助于网络,存根能够实现与服务器端的骨架(skeleton)进行交互。骨架为服务器端提供的代理对象。骨架负责将网络通信屏蔽掉,骨架能够接收来自Socket的访问请求,还能够将存根构建好的来自客户的参数转换转换成Java表示。 (3)骨架将来自客户的调用委派给合适的分布式对象实现。该对象完成具体的访问请求,将结果返回给骨架。则骨架将结果返回给存根,最后客户获得分布式对象的响应结果。   注意:Stub和服务器端实现的对象都实现了远程接口。 利用接口,暴露Bean类中的业务方法,容器会根据业务接口来产生stub和skeleton以及拦截器。采用代理/委托模式。 三、会话Bean SessionBean接受客户端的请求,并作出响应,是商业过程处理对象。 1、无状态SessionBean(Stateless) 无状态Session是可以被重用,不能被客户端并发共享,只可以串行共享,并不保留客户端方法调用后的的状态,而是直接返回。 无状态的SessionBean是可以池化的,达到性能优化。 2、无状态SessionBean的生命周期: 如果实例不存在,就会调用构造方法,然后调用资源注入方法,接着会调用有@PostConstruct标注的方法,在销毁时会调用有@PreDestroy标注的方法,然后销毁对象,如果实例存在就会从Bean实例池中取出实例并调用方法。 回调方法是基于事件机制的。 3、生命周期回调方法的规则: ⑴ 对于直接定义在Bean中的回调,其格式应该是public void method(),也就是直接写在SessionBean中。注意,方法返回值均为void。 ⑵ 对于为Bean类单独提供(单个或多个)回调监听而言。其格式是public void method(InvocationContext context) erceptor.InvocationContext,提供了调用的上下文信息。只在SessionBean类上加上@Interceptors(Xxxx.class)制定定义了回调方法的类。 ⑶ 回调方法不能够抛出已检查异常,但可以抛运行时异常。 在创建实例并注入资源之后,会回调这个方法。 @PostConstruct public void constructed(){} 在销毁对象时回调这个方法

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档