Action Decorator

Ü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