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 Hinweis: Bei lang laufenden Prozessen kann die Verwendung dieser Option im Laufe der Zeit zu einer erhöhten Auslastung der Systemressourcen führen, da der von WildFly verwaltete Worker-Thread-Pool umgangen wird. 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 Prozessschritt 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
950und999zurückgibt, wird dieser Status vom Process Starter verändert (Statuswert minus 50), und es werden Statuswerte zwischen900und949ausgegeben. Dies ist erforderlich, um die Save-Point-Funktion des X4 Servers nicht zu beeinflussen.Wenn ein synchron gestarteter Technical Process einen Statuswert zwischen
-999und-950zurückgibt, wird dieser Status vom Process Starter verändert (Statuswert plus 50) und es werden Statuswerte zwischen-900und-949ausgegeben. Dies ist erforderlich, um Fehler in der Prozessausführung zu vermeiden.
Asynchron gestartete Technical Processes
Wenn Sie Technical Processes asynchron starten (Parameter synchron: False), dann wird nach dem Start des aufgerufenen Technical Processes dessen Prozessinstanz-ID in einem XML-Dokument ausgeben und der unmittelbar darauf folgende Prozessschritt ausgeführt.
Statuswerte
1 (successful) | Der Funktions-Adapter wurde erfolgreich asynchron ausgeführt. Wenn der gestartete Technical Process nicht aktiv ist (Eigenschaft |
-1 (error) | Der Funktions-Adapter konnte nicht ausgeführt werden (der zu startende Technical Process wurde nicht gefunden). |