- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
会话EJB 李绪成 主要内容 EJB概述 无状态会话Bean 有状态会话Bean 一、EJB概述 对EJB的理解 EJB的角色 EJB的构成 EJB的运行过程 1.1 对EJB的理解 EJB是实现EJB规范中定义的业务逻辑的Java组件; EJB驻留在EJB容器中; EJB提供组件的可移植性; EJB的类型: ——无状态会话Bean ——有状态会话Bean ——实体Bean ——消息Bean 1.2 EJB的角色 EJB提供者:提供Bean、接口、配置描述器等 服务器/容器提供者:提供EJB服务器和容器 应用组装者:编写客户端程序访问Bean 部署者:根据配置描述器把EJB部署到服务器上面; 系统管理员:对部署好的系统进行管理 1.3 EJB的构成 Bean类 EJB对象 Home对象 本地接口 ejb-jar.xml weblogic-ejb-jar.xml 1.3.1Bean类 实现核心业务逻辑,所有的功能在这里实现 必须继承javax.ejb.EnterpriseBean接口 所有会话Bean必须实现javax.ejb.SissionBean接口 所有实体Bean必须实现javax.ejb.EntityBean接口 所有消息Bean必须实现javax.ejb.MessageDrvienBean 1.3.2 EJB对象 客户端对方法的调用实际上是对EJB对象的调用 EJB对象接收客户端的方法调用,然后调用相应的EJB实例方法 EJB对象由容器实现,Bean提供者需要提供远程接口,容器根据该远程接口实现EJB对象 1.3.3 Home对象 用于生成EJB对象、查找EJB对象、删除EJB对象; 该对象由容器创建,根据EJB提供者提供的home接口实现; 该对象需要在JNDI中定义 客户端通过JNDI查找该对象 1.3.4 本地接口 供本地客户端对EJB的使用 包括:localObject和localHome 1.3.5 EJB配置描述器 ejb-jar.xml是标准的配置描述器 描述该EJB的相关信息 描述该EJB运行的环境信息 部署人员根据该配置描述器来部署EJB 1.3.6 weblogic-ejb-jar.xml Weblogic server所需要的特定的配置描述器 这个配置描述器使EJB作者能够配置Weblogic特定的参数 1.4 EJB的运行过程 创建上下文环境 查找Home对象,返回Home对象引用 创建EJB对象,返回EJB对象的引用 创建EJB实例 通过EJB对象访问EJB实例的方法 二、无状态的会话Bean 不包含任何用户状态信息; 如果需要处理状态,通过参数; 必须实现接口javax.ejb.SessionBean; 无状态会话Bean的生命周期是由容器决定的; 对于无状态会话Bean,容器可以根据实际需要,自己决定创建和删除Bean实例; 无状态会话Bean的组成 远程接口:列出EJB供客户机使用的业务逻辑方法,EJB容器实现接口中的方法; 本地接口:用于创建、找出和删除EJB实例; Bean类:实现业务逻辑方法,通过远程接口展示给客户机; EJB配置描述器:XML文档格式,包含配置参数和元数据; ejb-jar.xml配置描述器:标准的EJB配置描述器,所有EJB厂商均使用这个配置描述器; weblogic-ejb-jar.xml描述器:是Weblogic特定的配置描述器,配置Weblogic特定的参数。 无状态会话Bean实例池 集中管理无状态会话Bean实例; 在实例池中存放若干个无状态会话Bean实例,需要的时候从中取出一个,不需要的时候放回实例池; 这样可以节省创建实例的时间开销,同时可以为大量客户机提供服务; 配置实例池 在weblogic-ejb-jar.xml文件中; initial-beans-in-freepool标记符指定实例池的初始容量; max-beans-in-freepool标记符定义可以并发的无状态会话Bean实例数量的上限; 无状态会话Bean集群 无状态会话Bean的所有实例都是相同的; Weblogic集群不仅可以从一个实例池中取得Bean实例,而且可以使用其它服务器上的实例池; 等幂方法 如果一个方法能够在调用多次之后,其结果和效应与只调用一次相同,则这个方法就称为等幂的; 等幂的无状态会话Bean 如果一个无状态会话Bean是等幂的,一旦集群中的某个服务器不能工作,则“灵敏的Stub”总会再次尝试另一个服务器。 非等幂的无状态会话Bean 非等幂的无状态会话Bean不能总是自动的因故障而进行切换; 无状态会话Bean的成员变量 无状态会话Bean可以有自己的成员变量; 但是成员变量不能与特定的客户及相关联; 无状态会话Bean的成员变量是与Bean相关的;
文档评论(0)