4.5 Application Internal Transaction Example

The following sequence diagram illustrates an application interacting with a supporting server to enlist the supporting server's resource manager (RM) in an internal transaction, perform operations in the scope of the internal transaction, and finally commit the transaction.

Using server resource manager for internal transaction

Figure 6: Using server resource manager for internal transaction

  1. Prior to invoking R_QMEnlistInternalTransaction (section 3.1.4.14), the application creates a new unique transactional unit of work identifier XACTUOW ([MS-MQMQ] section 2.2.18.1.8).<78>

  2. The application invokes R_QMEnlistInternalTransaction to create an internal transaction handle for the XACTUOW.

  3. The application utilizes the XACTUOW identifier created at step 1 to perform operations in the scope of the transaction via the qmcomm2 interface.

  4. The application finally commits the transaction by calling R_QMCommitTransaction (section 3.1.4.15), specifying the internal transaction handle obtained at step 2.