public interface CompensationHandler
If the CompensationHandler
interface is also implemented
and the compensationData implements the DataObject
interface, then
the methods of the CompensationHandler
interface will
be called in preference to the methods on this interface.
Modifier and Type | Method and Description |
---|---|
void |
close(java.io.Serializable compensationData)
Invoked upon successful completion of the Business Activity, if this
CompensationHandler has been added to the business Activity context via
the
UserBusinessActivity interface and the CompensationHandler
was active on completion of the Business Activity. |
void |
compensate(java.io.Serializable compensationData)
Invoked upon unsuccessful completion, if this CompensationHandler
has been added to the Business Activity context via the
UserBusinessActivity
interface and the CompensationHandler was active on completion of the
Business Activity. |
void close(java.io.Serializable compensationData) throws RetryCompensationHandlerException, CompensationHandlerFailedException
UserBusinessActivity
interface and the CompensationHandler
was active on completion of the Business Activity.
A CompensationHandler implementation must be able to tolerate this method
being driven more than once during the completion or recovery of a business
activity. An implementation of a CompensationHandler must not make any
assumptions about the order in which CompensationHandlers are driven during
the completion or recovery of a business activity.RetryCompensationHandlerException
- thrown if the participant cannot process its close
implementation at that time. The compensation handler will be retried.CompensationHandlerFailedException
- thrown if the participant cannot process its close
implementation due to an unrecoverable error.void compensate(java.io.Serializable compensationData) throws RetryCompensationHandlerException, CompensationHandlerFailedException
UserBusinessActivity
interface and the CompensationHandler was active on completion of the
Business Activity.
A CompensationHandler implementation must be able to tolerate this method
being driven more than once during the completion or recovery of a business
activity. An implementation of a CompensationHandler must not make any
assumptions about the order in which CompensationHandlers are driven during
the completion or recovery of a business activity.RetryCompensationHandlerException
- thrown if the participant cannot process its compensate
implementation at that time. The compensator will be retried.CompensationHandlerFailedException
- thrown if the participant cannot process its compensate
implementation due to an unrecoverable error.