Gateways¶
Current Status (ECA 2.x)¶
Important: Gateways are not fully implemented in ECA 2.x, this is a work in progress (WiP). The current implementation provides basic functionality but lacks proper BPMN gateway logic.
Current Behaviour¶
- Multiple outgoing links: All paths are processed sequentially in the order they were added;
- Multiple incoming links: Each incoming link processes everything after the gateway independently;
- No exclusive logic: Despite being labelled "exclusive gateway" or "x-gateway", a gateway currently behaves like an inclusive gateway;
- Optional condition handling: Each outgoing path can have explicit conditions, a path without conditions defaults to TRUE and is therefore always open;
How Gateways Currently Work¶
Sequential Processing¶
1 2 3 |
|
All paths execute in sequence, not based on conditions.
Multiple Inputs¶
When multiple paths flow into a gateway, each arrival triggers separate processing of all subsequent actions.
Current Use Cases¶
1. Flow Merging¶
Combine multiple event flows into a single processing path:
1 2 3 4 |
|
Note: In the above model, [Common processing] will potentially get executed 4 times if all 4 events are triggered.
2. Action Chaining (Alternative to AND Task)¶
Gateways can be used instead of AND tasks for chaining actions when there's only one successor:
1 |
|
Note: This is equivalent to using an AND task but quicker to implement.
3. Conditional Branching (Manual Implementation)¶
For true conditional logic, you must add explicit conditions to each outgoing path:
1 2 |
|