ActivitySession 和事务上下文

本主题描述事务和 ActivitySession 上下文之间的层次结构关系。此关系由 ActivitySession 服务定义,要求任何事务上下文完全在 ActivitySession 上下文之内,或完全在 ActivitySession 之外。

ActivitySession 上下文与事务上下文非常类似,并扩展企业 Bean 激活的生命周期选项;它可封装一个或多个事务。ActivitySession 上下文是分布式上下文,类似于事务上下文,它可以是 Bean 管理的或容器管理的。ActivitySession 上下文主要由客户机用于设定企业 Bean 的生命周期作用域,企业 Bean 使用超出该客户机所启动的个别事务,或缺少该客户机所启动的个别事务。

ActivitySession 比事务的开销少,而且可替代仅用于设定所调用企业 Bean 的生命周期作用域的事务。对于带有 ActivitySession 激活策略的 Bean,此 Bean 启动的任何资源管理器局部事务 (RMLT) 的持续时间可由 ActivitySession 的持续时间(而不是启动RMLT 的 Bean 方法)所定界。在超出 Enterprise JavaBeans (EJB) 规范所描述情况时,这提供在企业 Bean 中使用 RMLT 的灵活性和潜在能力。EJB 规范定义在 Bean 方法结束前需要完成 RMLT,这是因为 bean 方法是这些规范中可用的局部事务的唯一包含边界。

以下规则定义事务与 ActivitySession 之间的关系。
  • 如果不存在全局事务,EJB 或 Web 容器总是使用局部事务包含范围 (LTC)。LTC 可以是以方法为作用域的,或者以 ActivitySession 为作用域的。
  • 在方法分派前,容器确保总是存在 LTC 或全局事务上下文,但是两个上下文不同时存在。
  • ActivitySession 不能彼此嵌套。启动嵌套的 ActivitySession 的任何尝试会导致关于 UserActivitySession.beginSession() 的 com.ibm.websphere.ActivitySession.NotSupportedException。
  • ActivitySession 可完全封装一个或多个全局事务。
  • 应用程序可使用检查点或复位所有资源的操作结束 ActivitySession。endSession(EndModeCheckpoint) 操作对 ActivitySession 下协调的工作设立检查点,然后结束上下文。endSession(EndModeReset) 操作将 ActivitySession 下协调的工作重置到最后一个一致点,然后结束上下文。
  • ActivitySession 不能由全局事务包含,也不能被 ActivitySession 和全局事务边界重叠。在存在全局事务上下文的情况下,任何启动 ActivitySession 的尝试导致关于 UserActivitySession.beginSession() 的 com.ibm.websphere.ActivitySession.NotSupportedException。对于包含不完整全局事务的 ActivitySession,任何调用 endSession(EndModeCheckpoint) 的尝试都会导致 com.ibm.websphere.ActivitySession.ContextPendingException。不影响全局事务,也不影响 ActivitySession 上下文。如果调用 endSession(EndModeReset),那么 ActivitySession 将重置,并且全局事务将标记为 rollback_only。
  • ActivitySession 完全包含的每个全局事务独立于此 ActivitySession 内的每个其他全局事务。一个全局事务的回滚不影响其他任何全局事务或 ActivitySession 本身。
  • ActivitySession 和全局事务上下文可与封装一个或多个串行运行的全局事务的 ActivitySession 共存。
  • EJB Home 方法不能参与 ActivitySession,因为此状态可能会导致死锁。EJB Home 方法在它们自己独立的 LTC 中运行。

指示主题类型的图标 概念主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cas_ogtlt
文件名:cas_ogtlt.html