Designer > Implementing a BPMN Task or Event in BPEL > 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.
Required Properties
Optional Properties
Name. See Selecting Activity Labels
Join Condition. See Creating a Join Condition for an Incoming Link
Suppress Join Failure. See Process Properties
Comment. See Adding Comments to a Process
Documentation. See 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:
  1. 1. On the Process Editor canvas, select a scope that has a compensation, fault, or termination handler container.
  2. For a fault handler, ensure that the fault handler contains a catch container.
  3. 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>