Table of Contents

Search

  1. Preface
  2. Welcome to Informatica Process Developer
  3. Using Guide Developer for the First Time
  4. Getting Started with Informatica Process Developer
  5. About Interfaces Service References and Local WSDL
  6. Planning Your BPEL Process
  7. Participants
  8. Implementing a BPMN Task or Event in BPEL
  9. Implementing a BPMN Gateway or Control Flow
  10. Using Variables
  11. Attachments
  12. Using Links
  13. Data Manipulation
  14. Compensation
  15. Correlation
  16. What is Correlation
  17. What is a Correlation Set
  18. Creating Message Properties and Property Aliases
  19. Adding a Correlation Set
  20. Deleting a Correlation Set
  21. Adding Correlations to an Activity
  22. Rules for Declaring and Using Correlation Sets
  23. Correlation Sets and Engine-Managed Correlation
  24. Event Handling
  25. Fault Handling
  26. Simulating and Debugging
  27. Deploying Your Processes
  28. BPEL Unit Testing
  29. Creating POJO and XQuery Custom Functions
  30. Custom Service Interactions
  31. Process Exception Management
  32. Creating Reports for Process Server and Central
  33. Business Event Processing
  34. Process Central Forms and Configuration
  35. Building a Process with a System Service
  36. Human Tasks
  37. BPEL Faults and Reports

2. Designer

2. Designer

Compensation Handlers and Compensate Activities

Compensation Handlers and Compensate Activities

Compensation Handlers and Compensate Activities
You can add compensation handling as follows:
  • Define a compensation handler for a scope. The compensation handler can only have a single child activity, but this activity can be a structured activity like a sequence that has child activities. The contents of the compensation handler depend on your application logic.
  • Use a compensate activity within a fault handler, compensation handler, or termination handler to specify compensation on all inner scopes that have already completed successfully, in default order.
  • Use a compensate scope activity within a fault handler, compensation handler, or termination handler to specify compensation for a named, inner scope. This method provides control over the order and selection of compensation activities in a scope.
XML Syntax
<compensationHandler> activity </compensationHandler>
The following illustration compares default and specified compensation.
Default-order compensation
Default order compensation example
Specified compensation
Specified compensation example
Implicit Compensation
In the case where a scope does not define a compensation handler, the execution engine provides an implicit compensation handler. This handler contains a single
<compensate>
activity at compensates all of the enclosed scopes that have completed and are eligible for compensation. In general, you should only provide a compensation handler when you have some application-specific logic to execute in order to undo some previously executed logic.


Updated March 30, 2020