3.5.4.4 Enlistment Abort 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 Abort request, as specified in section 3.5.5.2.2.5 and 3.5.5.3.1.2, 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):

    • If the transaction object referenced by the connection object was added to the Resource Manager.Durable Log:

      • Remove the transaction object from the Resource Manager.Durable Log.

    • Send a TXUSER_ENLISTMENT_MTAG_ABORTREQDONE (section 2.2.10.2.2.2) 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):

    • If the transaction object referenced by the connection object was added to the Resource Manager.Durable Log:

      • Remove the transaction 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.