Prozess-Lebenszyklus
Lebenszyklus einer Prozessinstanz
| State | Beschreibung |
|---|---|
deployed | BPMN-Prozess wurde in die Engine hochgeladen |
running | Prozessinstanz wird aktiv ausgefuehrt |
suspended | Prozessinstanz wartet auf ein Event oder einen Task (z.B. User Task, External Task, Timer) |
finished | Prozessinstanz wurde erfolgreich beendet (End-Event erreicht) |
error | Ein Fehler ist aufgetreten |
terminated | Prozessinstanz wurde manuell beendet |
Token-Flow
Ein Token repraesentiert den Ausfuehrungspunkt innerhalb eines Prozesses. Bei Gateways kann ein Token dupliziert oder zusammengefuehrt werden.
Beispiel: Parallel Gateway
Bei einem Parallel Gateway (Split) wird der Token dupliziert — jeder ausgehende Pfad erhaelt eine Kopie. Der Join-Gateway wartet, bis alle eingehenden Token angekommen sind, bevor er fortfaehrt.
Prozesszustaende
Running → Suspended
Wenn der Prozess einen wartenden Knoten erreicht (z.B. User Task, External Task, Intermediate Catch Event), geht die Instanz in den Zustand suspended. Der Prozess wird fortgesetzt, sobald:
- Ein User Task abgeschlossen wird
- Ein External Task von einem Worker bearbeitet wird
- Ein Timer ablaeuft
- Eine Message oder ein Signal empfangen wird
Error-Handling
Fehler koennen durch verschiedene Mechanismen behandelt werden:
| Mechanismus | Beschreibung |
|---|---|
| Error Boundary Event | Faengt Fehler einer bestimmten Activity ab und leitet in einen alternativen Pfad |
| Error End Event | Beendet den aktuellen Pfad mit einem Fehler, der von uebergeordneten Prozessen gefangen werden kann |
| Error Start Event | Startet einen Event-SubProcess bei einem bestimmten Fehler |
Fehler ohne passenden Boundary Event fuehren dazu, dass die Prozessinstanz in den Zustand error wechselt. Solche Instanzen koennen ueber die API mit retry neu gestartet werden.