Process Starter
Dieser Adapter führt einen Technical Process in einem beliebigen Benutzerordner in <X4>/X4DB
mit einer Prozessinstanz-ID synchron oder asynchron aus. Als Input erhält der gestartete Prozess den Input des Adapters. Wenn der Funktions-Adapter asynchron ausgeführt wird, dann gibt der Adapter unmittelbar ein XML-Dokument aus, das die Prozessinstanz-ID des gestarteten Prozesses enthält; Wenn der Funktions-Adapter synchron ausgeführt wird, dann wartet er auf das Ergebnis des gestarteten Technical Processes (falls vorhanden) und gibt dieses aus.
Mit dem Process Starter können Sie über dynamische Parameter den Prozessnamen (und -pfad) zur Laufzeit setzen. Außerdem besitzt jeder über den Process Starter Adapter gestartete Technical Process eine eigene Prozessinstanz-ID, wird in einem separaten Thread ausgeführt und er kann daher nicht auf Variablen des aufrufenden Technical Processes zugreifen.
Allgemeine Eigenschaften und Parameter
Eigenschaften (Properties)
Operation | Bestimmt, welche Operation der Adapter durchführt Mögliche Werte: |
Parameter
Adapter | Hauptklasse des Adapters (nicht verändern!) Mögliche Werte: |
User | Benutzer-ID (X4DB-Benutzerordner, in dem sich der zu startende Prozess befindet) Mögliche Werte:
|
Process | Repository-Pfad zu einem Technical Process, der die Eigenschaft Mögliche Werte: Beliebiger Pfad im X4 Repository ohne führenden Schrägstrich (z.B. |
synchron | Technical Process synchron oder asynchron ausführen Mögliche Werte:
|
forceNewThread | Auch bei synchroner Ausführung einen neuen Thread starten Mögliche Werte:
|
Synchron gestartete Technical Processes
Wenn Sie Technical Processes synchron starten (mit Parameter synchron
: True
), dann wartet der Adapter, bis der gestartete Technical Process vollständig ausgeführt wurde und gibt ggf. dessen Ergebnis inklusive Statuscode aus, bevor der nächste Prozess-Schritt ausgeführt wird.
Statuswerte
| (Oder jeder andere positive Wert) Der Adapter wurde erfolgreich synchron ausgeführt. Der Statuscode des synchron gestarteten Technical Processes wird vom Process Starter übernommen oder ggf. verändert ausgegeben (siehe Hinweis unten). Wenn der Adapter Status |
| Der zu startende Technical Process ist entweder nicht aktiv (Eigenschaft |
| Der Funktions-Adapter konnte nicht ausgeführt werden (der zu startende Technical Process wurde nicht gefunden oder der gestartete Technical Process wirft Fehler). |
(Jeder negative Wert) | Der gestartete Technical Process wurde möglicherweise ausgeführt und erzeugte einen negativen Statuswert, z.B. über ein XSL-Mapping mit Bei asynchron gestarteten Technical Processes wird deren Status vom Process Starter übernommen. Die weitere Prozessausführung wird abgebrochen, falls die Technical Process-Eigenschaft |
Beachten Sie:
- Wenn ein synchron gestarteter Technical Process einen Statuswert zwischen
950
und999
zurückgibt, wird dieser Status vom Process Starter verändert (Statuswert minus 50) und es werden Statuswerte zwischen900
und949
ausgegeben. Dies ist erforderlich, um die Save Point-Funktion des X4 Servers nicht zu beeinflussen. - Wenn ein synchron gestarteter Technical Process einen Statuswert zwischen
-999
und-950
zurückgibt, wird dieser Status vom Process Starter verändert (Statuswert plus 50) und es werden Statuswerte zwischen-900
und-949
ausgegeben. Dies ist erforderlich, um Fehler in der Prozess-Ausführung zu vermeiden.
Asynchron gestartete Technical Process
Wenn Sie Technical Process asynchron starten (Parameter synchron
: False
), dann wird nach dem Start des aufgerufenen Technical Process dessen Prozessinstanz-ID in einem XML-Dokument ausgeben und der unmittelbar darauf folgende Prozess-Schritt ausgeführt.
Statuswerte
1 (successful) | Der Funktions-Adapter wurde erfolgreich asynchron ausgeführt. Wenn der gestartete Technical Process nicht aktiv ist (Eigenschaft In service: false) oder Fehler wirft, dann wird dennoch Status 1 ausgegeben; Das Ergebnis-XML-Dokument enthält in diesen Fällen die Prozessinstanz-ID -1. |
-1 (error) | Der Funktions-Adapter konnte nicht ausgeführt werden (der zu startende Technical Process wurde nicht gefunden). |