3.2.7.7 Rollback Complete
The Rollback Complete event MUST be signaled with the following arguments:
An XA Superior Enlistment Object.
If the Rollback Complete event is signaled, the XA Subordinate Transaction Manager Facet MUST perform the following actions:
If the State field of the provided XA Superior Enlistment Object is set to Aborting:
Set the State field of the provided XA Superior Enlistment Object to Aborted.
If Current Request CMP Connection Object of the provided XA Superior Enlistment Object is set:
Send XAUSER_XACT_MTAG_REQUEST_COMPLETED message.
Disconnect the Current Request CMP Connection of the provided XA Superior Enlistment Object.
Remove the provided XA Superior Enlistment Object from the XA Superior Enlistment Table referenced by the XA Superior Object indexed in the XA Superior Table by the Resource Manager Recovery GUID field of XA Superior Enlistment Object.
Perform the following actions on each XA Superior Child Branch Enlistment Object in the Child Branch Table referenced by the XA Superior Enlistment Object:
If Current Request CMP Connection Object of XA Superior Child Branch Enlistment Object is set:
Send XAUSER_XACT_MTAG_REQUEST_COMPLETED message.
Disconnect the Current Request CMP Connection of XA Superior Child Branch Enlistment Object.
Remove the XA Superior Child Branch Enlistment Object from the Child Branch Table referenced by Parent XA Superior Enlistment Object.