Class CompensationUtil
java.lang.Object
org.camunda.bpm.engine.impl.bpmn.helper.CompensationUtil
- Author:
- Daniel Meyer
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
name of the signal that is thrown when a compensation handler completed -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic List<EventSubscriptionEntity>
collectCompensateEventSubscriptionsForActivity
(ActivityExecution execution, String activityRef) Collect all compensate event subscriptions for activity on the scope of given execution.static List<EventSubscriptionEntity>
Collect all compensate event subscriptions for scope of given execution.static void
createEventScopeExecution
(ExecutionEntity execution) creates an event scope for the given execution: create a new event scope execution under the parent of the given execution and move all event subscriptions to that execution.static ExecutionEntity
getCompensatingExecution
(EventSubscriptionEntity eventSubscription) protected static ActivityImpl
getEventScopeCompensationHandler
(ExecutionEntity execution) In the context when an event scope execution is created (i.e.protected static boolean
hasCompensationEventSubprocess
(ActivityImpl activity) static void
throwCompensationEvent
(List<EventSubscriptionEntity> eventSubscriptions, ActivityExecution execution, boolean async) we create a separate execution for each compensation handler invocation.
-
Field Details
-
SIGNAL_COMPENSATION_DONE
name of the signal that is thrown when a compensation handler completed- See Also:
-
-
Constructor Details
-
CompensationUtil
public CompensationUtil()
-
-
Method Details
-
throwCompensationEvent
public static void throwCompensationEvent(List<EventSubscriptionEntity> eventSubscriptions, ActivityExecution execution, boolean async) we create a separate execution for each compensation handler invocation. -
createEventScopeExecution
creates an event scope for the given execution: create a new event scope execution under the parent of the given execution and move all event subscriptions to that execution. this allows us to "remember" the event subscriptions after finishing a scope -
hasCompensationEventSubprocess
-
getEventScopeCompensationHandler
In the context when an event scope execution is created (i.e. a scope such as a subprocess has completed), this method returns the compensation handler activity that is going to be executed when by the event scope execution. This method is not relevant when the scope has a boundary compensation handler. -
collectCompensateEventSubscriptionsForScope
public static List<EventSubscriptionEntity> collectCompensateEventSubscriptionsForScope(ActivityExecution execution) Collect all compensate event subscriptions for scope of given execution. -
collectCompensateEventSubscriptionsForActivity
public static List<EventSubscriptionEntity> collectCompensateEventSubscriptionsForActivity(ActivityExecution execution, String activityRef) Collect all compensate event subscriptions for activity on the scope of given execution. -
getCompensatingExecution
-