利用J2EE Connector Architecture - 编程入门网
反,如果 Resolver 属性被设置为 ContainerAtBoundary,那么将会启动资源管理器本地事务,且 ECI 调用类型是扩展的,会被容器在 EJB 方法的边界解决。
UnresolvedAction——它可以具有值 Commit 或 Rollback(缺省)。它可以被指定用于 EJB 或 Web 容器,并表示容器如何使用 LTC 边界上未完成的 RMLT 来清除所有的连接。该属性是 Web 组件 (Servlet) 唯一可配置的 LTC 设置,通过在连接上使用 LocalTransaction.begin() 方法应用于 Bean 管理的事务。在交互完成后,所有的容器管理事务被自动提交,因此在 Web 容器中容器管理的事务不使用该属性。 有关 LTC 策略的使用需要注意以下几点: LTC 范围对于每个 J2EE 组件而言都是本地的;因此如果在 LTC A 下分派 EJB 组件 A,并且该组件调用 EJB 组件 B,那么需要在一个单独的 LTC 下分派组件 B。 如果应用程序在全局事务外执行,那么容器始终会建立 LTC 范围,除非 Web 组件或 BMT 企业 Bean 是 J2EE 1.3 以前的标准。 事务部署场景 在这一部分,我们将解释把 Servlet 和 EJB 组件部署到 WebSphere Application Server 环境中的事务本质,以及有效利用事务控制的方法。对于 Web 容器和 EJB 容器两个环境,我们给出了一组常见问题,并且提供了所提出的问题或场景的实际解决方案: 在同一事务范围内,Servlet 能否发出多个 ECI 请求? 如何链接到发出 SYNCPOINT 命令的 CICS 程序? 在同一事务范围内,EJB 组件能否发出多个 ECI 请求? 怎样发出对全局事务的 CICS 部分的 ECI 请求? 如果使用 z/OS 平台上的 WebSphere Application Server,事务支持有什么不同? 在 z/OS 上部署 CICS TG 的好处是什么? 如果在两阶段提交处理过程中出现网络连接故障,会发生什么情况? 是否存在单阶段提交协议比两阶段提交协议更有好处的情况? 如果在全局事务中使用具有本地事务能力的资源适配器(如 CICS ECI 资源适配器),则会发生什么故障? 如果在 WebSphere Application Server 中使用 ECIRequest 类或 Common Connector Framework (CCF) 类,可以提供什么支持? 如果 CICS 区域或事务出现意外故障,会发生什么情况? 利用J2EE Connector Architecture(7)时间:2011-03-11 Phil Wakelin部署到 Web 容器 在 Web 容器中部署的 Servlet 组件缺乏 EJB 组件的大多数事务属性。尽管如此,Web 容器还是支持 RMLT 和 LTC 容器策略,使用这两个策略可以影响 ECI 资源适配器发出的 JCA 请求。 在同一事务范围内,Servlet 能否发出多个 ECI 请求? 如果在一个交互中两次调用 execute() 方法,这样会调用两个相应的到 CICS 的 ECI 调用,两者都使用 CICS SYNCONRETURN 选项进行链接。下面的代码示例说明了该方法:
不过,与其在同一事务上下文下运行两个对 CICS 的请求,还不如它们各自在 CICS 中作为独立的工作单元运行,并使用单独的 CICS 镜像事务实例。这是因为在 Web 容器内部,在后续请求发出之前,每个交互都是自动提交的。 如果您需要两个这样的对 CICS 的请求在同一事务范围内运行,那么有两种解决方案可以考虑。第一个建议的方法是使用 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |