A compensation is a process that is executed if the defined process fails to run to completion. You can use the BMC Atrium Orchestrator Development Studio application to define a compensation for every process or activity. A process can fail due to unavailability of resources, such as an adapter, or when the process takes longer to complete than the allotted timeout value.
This method of searching for a defined compensation in a higher process level continues until the primary process layer is reached. If a process is not completed and a compensation has not been designated at the failing level or higher, a 'debug' level message will be written to the processes.log on the peer that was trying to execute the process. If the process times out, the process compensation is executed.
You can add a Cause Details context item in the compensation workflow to ensure that you receive the summary of the error or exception that triggers the compensation workflow in a string format. You must define the context item in the Start activity of the compensation workflow.
2 Comments
Matthew Highcove
Dorothy Poole