background image

  

  在两阶段提交进程的第一个阶段中(

 

或称阶段 1):

  事务管理器请求所有资源管理器准备提交可恢复资源(准备)。
  每个资源管理器可以积极表决(已准备)或消极表决(已回滚)。如果资源管理器积极应
答,则它稳定地记录需要这样做的信息,应答已准备,然后必须遵循下一个阶段确定的
事务的最终结果。

  现在可以将资源管理器描述为 未确定 ,因为它已将事务的最终结果指派给事务管
理器,现在还不知道事务的实际结果。
  在第二个阶段(

 

或称阶段 2),假设所有资源管理器都积极应答:

  事务管理器使用提交流应答每个资源管理器。然而,如果资源管理器未能应答,则在
假定事务应中断之前,事务管理器可以重新传输准备流。
  在接收提交流之后,资源管理器完成对可恢复资源的更新,并释放对资源或打开的
文件所持有的任何锁。
  资源管理器然后使用最终提交的流进行响应,指示事务管理器不再处于未确定状态。
  如果事务管理器没有收到最终提交的流,则事务管理器必然假定提交未到达资源管
理器,因此需要重新传输提交,直至收到积极回复。
  如果在提交过程中事务管理器失败,则事务可能在资源管理器中处于未确定状态。在
重新启动后,事务管理器将与资源管理器重新同步,以发现事务的状态,然后继续执行
提交过程,并根据需要提交事务或退回事务。
  最后的参与者支持

 

  在 J2EE 事务环境中,WebSphere Application Server 的最后的参与者支持功能扩展了
全局事务模型,可以支持一个单阶段提交资源参与具有任何数量的两阶段提交能力的资
源的全局事务。在事务提交时,应用程

服务器

§首先准备两阶段提交资源管理器,如果

成功,则调用单阶段提交资源进行提交。然后,两阶段提交资源或者提交或者回滚,具体
取决于来自单阶段提交资源的响应。此过程有效地指派了对单阶段提交资源的事务协作。

 

  图 3. 最后的参与者支持