Übersicht
Diese Action ermöglicht es, bestimmte Variablen aus dem MessageContext in den Fachlichen Belegen und/oder den Technischen Details einer Nachricht zu speichern. Nur Attribute, die einen nicht-null Wert haben, werden gespeichert.
Im Gegensatz zur SetPropertyAction werden die Werte ohne dynamische Ausdrücke gespeichert.
Einrichtung
Klassenpfad: org.b2bbp.runtime.actions.internal.PersistMessageContextAttributes
Action Properties
| Property | Beispiel-Wert (ggf. Default) | Beschreibung |
|---|---|---|
| PERSIST_TECHNICAL | attribute1;attribute2;attribute3 | Liste der in den Technischen Details zu speichernden Message Context Attribute, getrennt durch Semikolon. (Kontext nicht überschreiben) |
| PERSIST_PROFESSIONAL | attribute1;attribute2;attribute3 | Liste der in den Fachlichen Belege zu speichernden Message Context Attribute, getrennt durch Semikolon. (Kontext nicht überschreiben) |
Ein Attribut, das in den Fachlichen Belegen gespeichert werden soll, wird ebenfalls automatisch in den Technischen Details gespeichert.
Beispiel
In diesem Beispiel wird die MessageContext-Variable MY_PAYLOAD aus CURRENT_PAYLOAD gefüllt und als technisches Attribut in der Nachricht gespeichert.
Diese Vorgehen liefert gerade eine Fehler:”FEHLER: doppelter Schlüsselwert verletzt Unique-Constraint »b2bbp_data_attribute_pkey«”
| Property | Wert | Kontext überschreiben | Optionen |
|---|---|---|---|
| MY_PAYLOAD | ${var(CURRENT_PAYLOAD)} | ja | keine (wichtig, dass “technisch” und “fachlich” NICHT markiert sind, sonst wird der gespeicherte Wert dynamische Ausdrücke beinhalten, was normalerweise nicht erwünscht ist. ) |
| PERSIST_TECHNICAL | MY_PAYLOAD | nein | keine oder “Technisch” |
Beispiel 2
In diesem Beispiel wird die MessageContext-Variable MY_PAYLOAD aus CURRENT_PAYLOAD gefüllt und anschließend als technisches Attribut in der Nachricht gespeichert.
Die MessageContext-Variable MY_PAYLOAD sollte in einer separaten Aktion gespeichert werden – z. B. mit der SetPropertyAction: SetPropertyAction
| Property | Wert | Kontext überschreiben | Optionen |
|---|---|---|---|
| MY_PAYLOAD | ${var(CURRENT_PAYLOAD)} | ja | keine (wichtig, dass “technisch” und “fachlich” NICHT markiert sind, sonst wird der gespeicherte Wert dynamische Ausdrücke beinhalten, was normalerweise nicht erwünscht ist. ) |
Damit der Wert im technischen Bereich persistiert wird, muss in PersistMessageContextAttributes nur folgender Eintrag ergänzt werden:
| Property | Wert | Kontext überschreiben | Optionen |
|---|---|---|---|
| PERSIST_TECHNICAL | MY_PAYLOAD | nein | keine oder “Technisch” |