快速业务通道

利用J2EE Connector Architecture - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-18
事务控制委托给应用程序服务器,使应用程序开发人员能够专注于开发业务逻辑,同时仍可以根据部署决定应用程序的事务特性。CMT 的事务控制的关键是 EJB 事务属性,下面将讨论该属性。

事务属性

事务属性在 EJB 部署描述符(ejb-jar.xml 文件)中设置,事务属性是控制属性,在控制情形下当调用 Bean 方法时启动全局事务。此事务属性显示在“container-transaction”部分,并使用“trans-attribute”标记指定。例如,以下 XML 定义 CTGTesterCCI Bean 上的远程 execute() 方法具有“Required”事务属性:

<container-transaction>   <method>    <ejb-name>CTGTesterCCI</ejb-name>    <method-intf>Remote</method-intf>    <method-name>execute</method-name>   </method>   <trans-attribute>Required</trans-attribute> </container-transaction>

图 7 显示了如何使用 IBM Rational® Application Developer 中的 EJB 部署描述符编辑器定义这些设置的情况。

图 7. Rational Application Developer 中的事务属性

利用J2EE Connector Architecture - 编程入门网

事务属性的可能值及其描述在表 1 中列出:

表 1. EJB 事务属性

事务属性 描述
NotSupported Bean 方法不在事务的上下文中执行。
Required Bean 方法将在事务的上下文中执行。
RequiresNew Bean 方法将在新事务的上下文中执行。
Supports Bean 方法可以在事务上下文中执行,也可以不在事务上下文中执行。
Mandatory Bean 方法必须在 EJB 客户机的事务上下文中执行。
Never Bean 不会在事务上下文中调用。

利用J2EE Connector Architecture(6)

时间:2011-03-11 Phil Wakelin

本地事务容器

EJB 2.0 规范没有指定如果在没有全局事务下运行方法时容器的行为。Servlet、使用 Bean 管理的事务的会话 Bean 和一些其他情况会发生这种现象。在该种情况下,应用程序被请求在“未指定的事务”上下文中执行。为了实现一致性和可移植性,WebSphere Application Server 使用本地事务容器 (LTC) 策略执行该未指定的事务上下文。此 LTC 策略是一种有效的划定范围的方法,Web 和 EJB 容器可以使用此方法划分在全局事务外分配的工作的开始和结束。在该 LTC 内对资源管理器的所有访问都通过资源管理器本地事务 (RMLT),在 LTC 结束时必须解决这种事务。没有办法以编程方法与 LTC 范围进行交互;并且 LPC 范围影响 J2EE 应用程序的方法由三个扩展的部署描述符 (XDD) 控制,这三个部署描述符可以在 J2EE 组件部署时设置,如下所示:

Boundary——它可以有值 BeanMethod(缺省)或 ActivitySession。ActivitySession 是对仅仅在 WebSphere Application Server Enterprise Version 5 中适用的 EJB 容器的扩展。它在基于资源管理器的本地事务的边界方法之外提供了一个扩展的工作单元范围。(有关详细信息,请参见 Transactional services in WebSphere Application Server Enterprise V5, REDP3759。)

Resolver——这个可以有值 ContainerAtBoundary 或 Application(缺省)。当在全局事务上下文(例如带有 Never 事务属性)外面的 EJB 容器发出 ECI 请求时,如果 Resolver 属性被设置为 Application,那么 ECI 调用类型是非扩展的。相

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号