Class FaultPropagation
java.lang.Object
org.flowable.cmmn.engine.impl.util.FaultPropagation
Handles propagation of a
BusinessError during CMMN plan item execution.
- Check if any plan item in the case has a fault sentry on the faulting task (in a catchable state)
- If found: fail the task, sentries fire naturally via the standard sentry evaluation. Done.
- If not found: propagate to parent engine via callback (async) or re-throw (synchronous/no parent)
- Author:
- Joram Barrez
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic booleanisFaultCaught(PlanItemInstanceEntity faultedPlanItemInstance) Checks if any plan item in the case has a fault sentry referencing the faulting plan item, using the parser-built dependency graph (PlanItem.getEntryDependentPlanItems()).static voidpropagateFault(BusinessError fault, CommandContext commandContext, PlanItemInstanceEntity planItemInstanceEntity)
-
Constructor Details
-
FaultPropagation
public FaultPropagation()
-
-
Method Details
-
propagateFault
public static void propagateFault(BusinessError fault, CommandContext commandContext, PlanItemInstanceEntity planItemInstanceEntity) -
isFaultCaught
Checks if any plan item in the case has a fault sentry referencing the faulting plan item, using the parser-built dependency graph (PlanItem.getEntryDependentPlanItems()). Also verifies that at least one runtime instance of the dependent plan item is in a catchable state (AVAILABLE or WAITING_FOR_REPETITION).
-