3.4.7.1 Associate Transaction Failure

The Associate Transaction Failure event MUST be signaled with the following arguments:

  • A transaction object

  • A value indicating the failure reason. The reason MUST be set to one of the following values:

    • Comm Failed

    • Log Full Remote

    • Log Full Local

    • No Mem Remote

    • Too Late

    • Too Many Remote

    • Too Many Local

    • Tx Not Found

If the Associate Transaction Failure event is signaled, the transaction manager MUST perform the following actions:

  • Find an instance of a CONNTYPE_TXUSER_ASSOCIATE (section 2.2.8.2.1.1) connection list in the associates table of the transaction manager communicating with an application facet by using the Transaction Object.Identifier field of the transaction object as the key.

  • For each connection in the list:

    • Remove the connection from the list.

    • If the connection state is Processing Associate Request:

      • Send the matching message for the following reason codes:

        • Comm Failed: TXUSER_ASSOCIATE_MTAG_COMM_FAILED (section 2.2.8.2.1.1.3)

        • Log Full Remote: TXUSER_ASSOCIATE_MTAG_LOG_FULL_REMOTE (section 2.2.8.2.1.1.6)

        • Log Full Local: TXUSER_ASSOCIATE_MTAG_LOG_FULL_LOCAL (section 2.2.8.2.1.1.5)

        • No Mem Remote: TXUSER_ASSOCIATE_MTAG_NO_MEM_REMOTE (section 2.2.8.2.1.1.8)

        • Too Late:TXUSER_ASSOCIATE_MTAG_TOO_LATE (section 2.2.8.2.1.1.9)

        • Too Many Remote: TXUSER_ASSOCIATE_MTAG_TOO_MANY_REMOTE (section 2.2.8.2.1.1.11)

        • Too Many Local: TXUSER_ASSOCIATE_MTAG_TOO_MANY_LOCAL (section 2.2.8.2.1.1.10)

        • Tx Not Found: TXUSER_ASSOCIATE_MTAG_TX_NOT_FOUND (section 2.2.8.2.1.1.12)

    • Set the connection state to Ended.

  • Remove the list from the associates table of the transaction manager communicating with an application facet.