BPMN Implementation: Compensate throw event
The compensate activity triggers the start of compensation on all inner scopes that have already completed successfully. See
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
activity names an enclosed scope for compensation.
Selecting Activity Labels
Join Condition. See
Creating a Join Condition for an Incoming Link
Suppress Join Failure. See
Adding Comments to a Process
Adding Documentation to a Process
Setting Visual Properties and Using Your Own Library of Images
Execution State. See
Viewing the Execution State of an Activity or Link
Extension Attributes and Extension Elements. See
Declaring Extension Elements and Attributes
To build a compensate activity:
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.
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
Catch and Catch All Boundary Events and Compensate, Compensate Scope and Rethrow