Once an activity completes, it evaluates any condition on the outgoing links. If no condition is defined and the activity has completed normally, all conditions evaluate to true so that the next activity can start. However, an activity can have a join condition set that further constrains execution. For more information, see
Links and the Join Condition
.
If an activity has faulted or could not be run, all conditions evaluate to false.
An activity can have multiple incoming links. The activity must wait to run until at least one of its incoming links evaluates to true.
If all incoming links are false, the activity cannot run unless a
supressJoinFailure
property is true.
A link can cross the boundary of a structured activity, except for the following:
While activity
Isolated scope
Event handler
Compensation handler
A link that crosses the boundary of a fault handler must have its source within the fault handler and its target within a scope that encloses the fault handler scope.
In WS-BPEL, a link cannot create a control cycle by linking to a completed activity. However, in Process Developer, this behavior is allowed, as described in