Compensating activities in a long-running process
In a long-running process, each transaction within it is committed individually. To set up compensation, you need to specify how to deal with each activity should it fail.
About this task
- Compensation is tightly coupled with fault handling. You need to think about compensation when you are modelling fault handling.
- The steps necessary to deal with it, and return the process to an equitable state.
Compensation using Compensation Handlers (BPEL)
About this task
Procedure
Results
Note:
- A compensation handler will only run if the activity with which it is associated has completely successfully.
- You can also define undo actions for individual invoke activities in long-running processes in the same manner as you would assign a compensation to invoke activities within a microflow. See Compensating a microflow.
BPMN-style Compensation
About this task
- They do not have a Target Activity field specified in the Details tab for this compensate activity.
- They are directly enclosed in a generalized flow activity. That
generalized flow activity must either be:
- Directly enclosed in the Process or a Scope activity.
- Directly enclosed in a receive case branch of a Receive Choice activity, that Receive Choice activity, in turn, must also be directly enclosed by a process or scope.