Compartilhar via


3.2.3.3 Transaction Recovery

If the Core Transaction Manager Facet.Durable Log of the Core Transaction Manager Facet is not empty, it MUST perform the following actions:

  • For each transaction object in the Core Transaction Manager Facet.Durable Log of the Core Transaction Manager Facet:

    • Initialize the transaction object fields which are not durably stored with default values, as specified in Transaction Object Initialization (section 3.2.3.1).

    • Copy the transaction object to the transaction table of the Core Transaction Manager Facet.<25>

  • After all transactions in the Core Transaction Manager Facet.Durable Log are copied to the transaction table, start accepting new connections.

  • For each transaction object in the transaction table of the Core Transaction Manager Facet:

    • If the transaction state is In Doubt (section 3.2.1.3.12):

      • Signal the Recover In Doubt Transaction (section 3.8.7.8) event on the transaction manager facet that is referenced by the transaction object's Superior Enlistment field with the value of the transaction object's Superior Enlistment field.

    • Otherwise:

      • Signal the Notify Recovered Transaction Committed (section 3.2.7.24) event on the Core Transaction Manager Facet with the transaction object.