Process Instance

Eine Process Instance ist eine Instanz einer Process Definition. Process Instances durchlaufen einen Lebenszyklus.

Process Instances werden implizit erzeugt, wenn eine passend annotierte Activity der Arten receive oder pick auftritt. Die Annotation erfolgt durch das Setzen des Attributs createInstance auf "yes". Wenn eine auf die Activity passende Nachricht empfangen wird und die Process Instance noch nicht existiert, dann wird sie erzeugt. Damit Process Instances zu einer Process Definition erzeugt werden können, muss diese das receive oder pick als erste Activity enthalten.

Process Instances werden beendet, wenn

- die äußere Activity (in der Regel eine sequence) endet,
- eine Ausnahme den äußeren Block (Process Scope) erreicht,
- die Process Instance explizit mit terminate beendet wird,
- ein Compensation Handler für den Gesamtprozess spezifiziert ist und dieser nach dem Ende der normalen Verarbeitung durch ein API der Laufzeitumgebung an gestoßen wird (dazu muss das Attribut enableInstanceCompensation der Process Definition den Wert "yes" haben).