第八章 会话EJB(下).ppt

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

会话EJB 李绪成 三、有状态的会话Bean 可以存储与客户机有关的数据,用户的多个方法调用之间可以共享这些数据; 当客户机调用本地接口的create方法时,EJB容器需要创建一个新的Bean实例; 客户机经常把初始的会话状态作为参数传递给create方法; 容器没有实例池供客户机调用共享; 每个客户机需要使用一个特定的无状态会话Bean实例; 3.1 有状态会话Bean的生命周期 创建有状态会话Bean:本地接口中可以有多种不同版本的create方法,参数不同,相对应的,Bean中有不同版本的ejbCreate方法;创建完之后,有状态会话Bean就处于就绪状态; 活跃:通过ejbActivate方法,可以在这个方法中加载需要的资源;创建之后也是该状态; 待命:通过ejbPassivate方法,可以在这个方法中释放相关的资源; 删除有状态会话Bean:调用本地接口中的remove方法,对应Bean中的ejbremove方法。 配置:weblogic配置描述器包含一个max-beans-in-cache参数; 3.2 在会话Bean中使用事务 会话Bean中可以有两种可能的事务:Bean管理的事务和容器管理的事务 ejb-jar.xml文件中transaction-type标记符用于定义事务的类型; transaction-typeBean/transaction-type transaction-typeContainer/transaction 3.2.1 容器管理事务 container-transaction method ejb-nameShoppingCartEJB/ejb-name method-name*/method-name /method trans-attributeRequired/trans-attribute /container-transaction 3.2.1 容器管理事务(续) NotSupported:这个属性适用于不支持事务的EJB方法; Required:容器必须在调用EJB方法前建立一个有效的事务环境; Supports:这个属性位于NotSupported和Required之间,如果EJB方法在一个进行中的事务中被调用,容器就象在Required中一样,如果不是,跟NotSupported相同 3.2.1 容器管理事务(续) RequiedNew:这个属性将强制容器为EJB方法启动新的事务,并在方法结束时提交该事务; Mandatory:调用程序被要求在调用设置了这个属性的EJB方法之前有一个事务正在进行,并且容器在调用者事务的环境中执行方法; Never:这个属性是Mandatory属性的对立面,调用程序必须在没有事务进行时调用EJB方法。 3.2.2 Bean管理事务(使用JTA) Context ctx=new InitialContext(); UserTransaction tx=(UserTransaction) ctx.lookup(“javax.transaction.UserTransaction”); tx.begin(); cart.addItem(new Car()); mit(); 3.2.3 SessionSynchronization 在容器管理事务的情况下,有状态会话Bean可以选择实现该接口;该接口有3个方法: ——afterBegin()方法:当有状态会话Bean进入事务时,容器调用; ——beforeCompletion()方法:当事务准备提交时,容器调用; ——afterCompletion()方法:当事务提交之后,容器调用; 3.3 EJB安全 EJB安全依赖于安全角色的概念,安全角色是一个表示应用角色的逻辑组; 在EJB配置描述器中定义安全角色; 方法的访问权限定义了调用方法的一个或多个安全角色; 在EJB中使用编程安全接口 3.3.1 定义安全角色 security-role description Payroll Administrator.This role is permitted to change the payroll schedule and perform administrative functions. /description role-nameAdministrator/role-name /security-role 3.3.2 定义方法访问控制表 method-permission role-namePayrollUser/role-name role-nameAdministrator/role-name method ejb-namePayrollE

文档评论(0)

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

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

1亿VIP精品文档

相关文档