Übersicht
Mit den Action Decorators ist es möglich gewünschte Actions zu erweitern.
Einrichtung
In der Action welche via Decorator erweitert werden soll muss folgende Eigenschaft gesetzt werden:
Eigenschaft | Wert |
---|---|
ACTION_DECORATORS |
Wert des Types zb. StopperAction . Mehere Decoratoren sollen mit ; getrennt werden |
Die Eigenschaft ACTION_DECORATORS
muss den Nachrichtenkontext nicht überschreiben.
Typen
Es gibt verschiedene Typen von Decorators mit verschiedenen Funktionalitäten.
Hinweis: Die Decorator betreffen nicht die Ausführung von Services, die beispielsweise durch das Setzen von Action-Eigenschaften aufgerufen werden (wie in der FileWriterAction über B3P_USED_SERVICE_ID). Diese werden über einen separaten Mechanismus gesteuert.
Stopper Action
Wert = StopperAction
Stopt bei Condition = true den weiteren Workflow der Nachricht
Weitere Eigenschaften
Eigenschaft | Beispiel Wert | Beschreibung | Default (Wenn vorhanden) |
---|---|---|---|
CONDITION | ${equals(a,b)} | Dynamischer Ausdruck. Wenn der Parameter vorhanden ist, wird dieser ausgewertet. Falls der Parameter true dann stoppe Workflowist wird die Verarbeitung unterbrochen, ansonsten nicht. Wenn der Parameter nicht vorhanden ist, wird die Verarbeitung immer unterbrochen. | Die Verarbeitung wird immer abgebrochen |
B3P_TARGET_VS_STATE | MAN | Setzt den Verarbeitungsstatus nach erfolgreichem Stop. Wenn die Action eine Exception wirft, wird der Parameter ignoriert. | SUC |
B3P_STOP_ALWAYS | true | Unterbricht den Workflow immer | false |
Evaluate After Action Properties
Wert = EvaluateAfterActionProperties
Conditional Execute
Wert = ConditionalExecute
Eigenschaft | Beispiel Wert | Beschreibung | Default (Wenn vorhanden) |
---|---|---|---|
EXECUTE_ACTION | ${equals(a,b)} | Wenn true dann führe Action aus | - |
Die Eigenschaft EXECUTE_ACTION
muss den Nachrichtenkontext zur Laufzeit überschreiben.
Exception Catcher
Wert = ExceptionCatcher
Execute Once
Wert = ExecuteOnce
Mithilfe des ExecuteOnce Decorators kann dafür gesorgt werden, dass eine Action nur einmal pro Nachricht und Channel ausgeführt wird. Das heißt bei einem Neustart der Nachricht wird die Action nicht nochmal ausgeführt.
View Me Edit Me