3.5.4.5 Enlistment Commit Request Completed

This event MUST be signaled by the higher-layer business logic with the following arguments:

  • A connection object

When the higher-layer business logic completes an enlistment Commit request as specified in section 3.5.5.2.2.4 and 3.5.5.3.1.1, the resource manager MUST perform the following steps:

  •  If the connection type of the connection object is CONNTYPE_TXUSER_ENLISTMENT (section 2.2.10.2.2):

    • Remove the transaction object referenced by the connection object from the Resource Manager.Durable Log.

    • Send a TXUSER_ENLISTMENT_MTAG_COMMITREQDONE (section 2.2.10.2.2.4) message using the connection.

    • Set the connection state to Ended.

  • Otherwise, if the connection type of the connection object is CONNTYPE_TXUSER_REENLIST (section 2.2.10.3.1):

    • Remove the transaction object referenced by the connection object from the Resource Manager.Durable Log.

    • Remove the connection from the reenlistment list of the resource manager.

    • If the list is now empty:

      • Signal the Reenlistment Complete (section 3.5.7.3) event on the resource manager.

    • Set the connection state to Ended.

  • Otherwise, ignore the event.