Compensate
BPMN Implementation: Compensate throw event
The compensate activity triggers the start of compensation on all inner scopes that have already completed successfully. See
Compensation for a discussion of compensation handlers.
The compensate activity specifies no scope name, thus providing explicit default-order compensation that executes the compensation handler on all eligible scopes in the reverse order of their completion.
The compensate activity is defined within a compensation handler, fault handler, or termination handler. It can also be the target of a compensation boundary event.
The compensate activity is one of two compensation activities. The
Compensate Scope activity names an enclosed scope for compensation.
To build a compensate activity:
- 1. On the Process Editor canvas, select a scope that has a compensation, fault, or termination handler container.
For a fault handler, ensure that the fault handler contains a catch container.
- 2. Drag a Compensate throw event to the container, as shown in the following example.
Alternately, use a BPMN compensation boundary event and make the compensate activity a target of it. For details, see
Adding Boundary Events and
Catch and Catch All Boundary Events and Compensate Compensate Scope and Rethrow.
XML Syntax
<compensate standard-attributes>
standard-elements
</compensate>
Example
<compensate/>