Class ParallelGatewayActivityBehavior
java.lang.Object
org.camunda.bpm.engine.impl.bpmn.behavior.FlowNodeActivityBehavior
org.camunda.bpm.engine.impl.bpmn.behavior.GatewayActivityBehavior
org.camunda.bpm.engine.impl.bpmn.behavior.ParallelGatewayActivityBehavior
- All Implemented Interfaces:
CoreActivityBehavior<ActivityExecution>
,ActivityBehavior
,SignallableActivityBehavior
Implementation of the Parallel Gateway/AND gateway as definined in the BPMN
2.0 specification.
The Parallel Gateway can be used for splitting a path of execution into
multiple paths of executions (AND-split/fork behavior), one for every
outgoing sequence flow.
The Parallel Gateway can also be used for merging or joining paths of
execution (AND-join). In this case, on every incoming sequence flow an
execution needs to arrive, before leaving the Parallel Gateway (and
potentially then doing the fork behavior in case of multiple outgoing
sequence flow).
Note that there is a slight difference to spec (p. 436): "The parallel
gateway is activated if there is at least one Token on each incoming sequence
flow." We only check the number of incoming tokens to the number of sequenceflow.
So if two tokens would arrive through the same sequence flow, our implementation
would activate the gateway.
Note that a Parallel Gateway having one incoming and multiple ougoing
sequence flow, is the same as having multiple outgoing sequence flow on a
given activity. However, a parallel gateway does NOT check conditions on the
outgoing sequence flow.
- Author:
- Joram Barrez, Tom Baeyens
-
Field Summary
Fields inherited from class org.camunda.bpm.engine.impl.bpmn.behavior.FlowNodeActivityBehavior
bpmnActivityBehavior
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
execute
(ActivityExecution execution) Default behaviour: just leave the activity with no extra functionality.Methods inherited from class org.camunda.bpm.engine.impl.bpmn.behavior.GatewayActivityBehavior
lockConcurrentRoot
Methods inherited from class org.camunda.bpm.engine.impl.bpmn.behavior.FlowNodeActivityBehavior
doLeave, leave, leaveIgnoreConditions, signal
-
Field Details
-
LOG
-
-
Constructor Details
-
ParallelGatewayActivityBehavior
public ParallelGatewayActivityBehavior()
-
-
Method Details
-
execute
Description copied from class:FlowNodeActivityBehavior
Default behaviour: just leave the activity with no extra functionality.- Specified by:
execute
in interfaceActivityBehavior
- Specified by:
execute
in interfaceCoreActivityBehavior<ActivityExecution>
- Overrides:
execute
in classFlowNodeActivityBehavior
- Throws:
Exception
-