CheckDuplicateMessageAction

org.b2bbp.runtime.actions.internal.CheckDuplicateMessageAction

Beschreibung

Als Duplikat erkennt die Action Nachrichten welche die gleiche Richtung und die gleiche B3P_BASE_MESSAGE am Eingangs Service (bzw. der MessageSaveUtil) haben. Die erste Nachricht wird nie als Duplikat erkannt sie kann also Problemlos neugestartet werden auch wenn später eine identische Nachricht eingetroffen sein sollte.

Duplikate bekommen einen Clearing Status welcher über B3P_CLEARING_STATUS an der Action konfiguriert werden kann.

Falls ein Duplikat erkannt wird kann mit der Property B3P_VS_STATE ein bestimmter VS-Status gesetzt werden, z.B. ERR.

Außerdem gibt es bei Duplikaten den Fachlichen Beleg:

MESSAGE_ID_OF_FIRST_MESSAGE. Hier steht die MessageId von der ersten Nachricht welche der aktuellen Nachricht entspricht.

Falls die Action übersprungen werden soll geht das über SKIP_CHECK_DUPLICATE_MESSAGE_ACTION mit dem Wert true im Message Context.

Wir empfehlen die Action direkt als erste Action im Channel auszuführen. Wichtig ist diese Action nurin Split Channels da in den normalen Channels keine Duplikate in Backend System gelangen sollten durch das Restart Skip Service Feature.

Diese Action ist nützlich, wenn eine Nachricht, die gesplittet werden soll, während des Splits abbricht und nur ein Teil gesplittet und verarbeitet wurde. In diesem Fall kann die Originalnachricht gerestartet werden und alle neu gesplitteten Nachrichten, die vorher schon erstellt wurden, laufen auf einen Fehler und die Verarbeitung für diese wird gestoppt. Alle noch nicht erstellten Splitnachrichten, werden erstellt und verarbeitet. Dafür muss die Action den Split-Channels hinzugefügt werden. Sind die bereits gesplitteten Nachrichten beim ersten Split auf einen Fehler gelaufen, so müssen diese Split-Nachrichten neugestartet werden. Durch einen Restart der Originalnachricht würden diese sonst auf einen Fehler laufen, da sie schon einmal erzeugt wurden. Hier ist es wichtig, die Split-Nachrichten, die als erstes erzeugt wurden und auf einen Fehler liefen, neuzustarten.

View Me   Edit Me