Neuen Prozess starten
Mit der Funktion
tw.system.startProcessByName() kann eine neue Instanz eines Prozesses gestartet werden.Parameter
Die Methodetw.system.startProcessByName() gibt ein TWProcessInstance-Objekt zurück und akzeptiert zwei Parameter:- name (Zeichenfolge)
- Der Name des Prozesses.
- inputValues (Zuordnung)
- Die Zuordnung, die die Eingabeparameter für den Prozess enthält.
var inputs = new tw.object.Map();
inputs.put("parm1", "parm1 value");
inputs.put("parm2", "parm2 value");
tw.system.startProcessByName("StartProcess2", inputs);Ausnahmebedingungen für blockierten Thread
Unter bestimmten Umständen kann der Versuch, eine Prozessinstanz mit der Funktion
tw.system.startProcessByName() zu starten, blockiert werden, und im Systemausgangsprotokoll wird möglicherweise eine Ausnahmebedingung wegen blockierter Threads für einen Thread angezeigt, der eine Datenbankverbindung enthält. Dies kann in den folgenden Situationen auftreten:- Sie haben ein UCA-Nachrichtenereignis (UCA = Undercover Agent) mit einem angehängten Service definiert.
- Im angeschlossenen Service starten Sie eine neue Prozessinstanz mit der Funktion
tw.system.startProcessByName(). - Für den gestarteten Prozess sind Variablen definiert, die für die Komponente 'Geschäftsdatensuche' zugänglich sind, und die Erstellung des Prozesses wird blockiert.
Zur Lösung wird die Verwendung des bewährten Verfahrens von BPMN (Business Process Model and Notation) sowie eine Modellierung des Prozesses mit einem Startnachrichtenereignis empfohlen. Das UCA-Nachrichtenereignis wird dann an dieses Startnachrichtenereignis angehängt.