Synchronous and asynchronous activations
You can cause an activity or process to be activated in one of two ways, synchronously or asynchronously.
- Synchronously
-
The activity or process is executed synchronously with the
requestor.
Exactly how it is run varies, depending on which command is used to
activate it:
- LINK
- The activity is included as part of the current unit of work; all locks and resources are shared with the requestor. The activity runs with the transaction attributes of the requestor; any transaction attributes (transaction ID or user ID) specified on its resource definition are ignored. In other words, there is no context-switch.
- RUN SYNCHRONOUS
-
The
activity is run in a separate unit of work from the unit
of work of the requestor, and with the transaction attributes
(transaction
ID or user ID) specified on its resource definition
.
In other words, a
context-switch
takes place.
The two units of work are linked; if the requestor backs out, the activity is backed out also.
- Asynchronously
-
The activity or process is executed asynchronously with the
requestor,
following a RUN ASYNCHRONOUS command.
The activity is run in a separate unit of work from the unit of work of the requestor, and with the transaction attributes (transaction ID or user ID) specified on its resource definition - that is, a context-switch takes place.