快速业务通道

利用J2EE Connector Architecture - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-18
反,如果 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 选项进行链接。下面的代码示例说明了该方法:

Context ic = new InitialContext(); cxfn = (ConnectionFactory) ic.lookup("java:comp/env/eis/ECICICS"); Connection cxn= cxnf.getConnection(); Interaction ixn= cxn.createInteraction(); ECIInteractionSpec ixnSpec= new ECIInteractionSpec(SYNC_SEND_RECEIVE,"CICSPROG"); JavaStringRecord jsr = new JavaStringRecord() jsr.setText("DATA1"); ixn.execute(ixnSpec, jsr, jsr); ... jsr.setText("DATA2"); ixn.execute(ixnSpec, jsr, jsr); ... ixn.close(); cxn.close();

不过,与其在同一事务上下文下运行两个对 CICS 的请求,还不如它们各自在 CICS 中作为独立的工作单元运行,并使用单独的 CICS 镜像事务实例。这是因为在 Web 容器内部,在后续请求发出之前,每个交互都是自动提交的。

如果您需要两个这样的对 CICS 的请求在同一事务范围内运行,那么有两种解决方案可以考虑。第一个建议的方法是使用

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号