2.5.6.2 Enlist in a Transaction – Resource Manager
In this use case, the resource manager enlists in a transaction with a respective transaction manager.
Context of use: When a resource manager is enlisted in a transaction, the resource manager can participate in the coordination of the transaction.
Goal: To enlist a resource manager in a transaction.
Actors:
Resource manager: The resource manager is a primary actor and can be a remote resource manager or an external resource manager.
Transaction manager: The transaction manager is a supporting actor. The transaction manager can be a root transaction manager, a remote transaction manager, or an external transaction manager.
Stakeholders:
Architects
Implementers
Preconditions:
Transaction processing services are operational.
The resource manager can access the transaction manager that it has to contact to enlist in the transaction.
Main success scenario:
Trigger: The application triggers the resource manager to update its resource in the context of the transaction that was created in the Create a Transaction (section 2.5.6.1) use case.
The resource manager asks the transaction manager to enlist in the transaction.
The transaction manager enlists the resource manager in the transaction and returns a success message to the resource manager.
After successful enlistment in a transaction, the resource manager makes the requested updates to its resource in accordance with the semantics of the two-phase commit protocol, such as isolation and durability.
Postcondition: The resource manager enlists in a transaction with the respective transaction manager.
Extensions: None.
Variation: All details are identical to the use case as described in this section except that the application is an external application that makes use of optional protocols (see section 2.2).