3.5.7.1 Recover Transaction

The Recover Transaction event MUST be signaled with the following arguments:

If the Recover Transaction event is signaled, the resource manager MUST perform the following steps:

  •  Initiate a new CONNTYPE_TXUSER_REENLIST (section 2.2.10.3.1) connection to the transaction manager, using the Transaction Manager Name field of the resource manager.

  • Set the Transaction field of the connection object to the provided transaction object.

  • Add the connection to the reenlistment list of the resource manager.

  • Add the connection to the connection list of the transaction object.

  • Send a TXUSER_REENLIST_MTAG_REENLIST (section 2.2.10.3.1.1) message using the connection:

    • Set the guidTx field to the Transaction Object.Identifier field of the transaction.

    • Set the ulTimeout field to the Reenlistment Timeout field of the resource manager.

    • Set the guidRm field to the Resource Manager.Identifier field of the resource manager.

  • Set the connection state to Awaiting Reenlist Response.