Mit der SyncSplitMessagesAction kann der Bestätigungs-Status der Originalnachricht auf CTP (erfolgreich) gesetzt werden, falls alle Splitnachrichten erfolgreich verarbeitet wurden.
Die Actionsoll nur bei einer sehrspezifischen und ungewöhnlichen Kommunikation eingesetzt werden: Bei Splitten von ausgehenden Nachrichten, die in Nicht-Edifact-Nachrichten umgewandelt und an Partner verschickt werden, von denen keine Contrl erwartet werden.Der Bestätigungsstatus wird beiEinsatz dieser Actiongeändert. Dieser Status kanndanach mit SAPsynchronisiert werden.
Einrichtung
Funktioniert nur in Verbindung mit UNHSplitAndCumulateAction.
UNHSplitAndCumulateAction
An der Action muss die Eigenschaft SAVE_RUNNING_SPLITTED_MESSAGES =
true gesetzt werden.
Im Channel vor der SplitAction soll der Bestätigungs-Status nicht auf
CTP gesetzt werden: entweder keinen Status setzen oder mit
MessagePropertyAction explizit auf einen anderen Wert, z.B.
CTW (Verarbeitung läuft) setzen.
Global Property
In der GlobalProperty RESTART_UTIL_OPTIONAL_ATTRIBUTES_TO_SAVE den Eintrag hinzufügen: PARENT_SPLIT_ACTION_ID. Dann können die Splitnachrichten neu gestartet werden.
SyncSplitMessagesAction
Am Ende des SplitChannels folgende Action hinzufügen:
org.b2bbp.runtime.actions.split.sync.SyncSplitMessagesAction
Transaction Level angeben
Um konkurrierende Aktualisierungen des Counters zu verhindern, werden die Datenbank-Transactions mit dem Isolation-Level Repeatable Read ausgeführt. Einige Datenbanken unterstützen dieses Level nicht - in diesem Fall soll ein anderer Level explizit über die Actionproperty angegeben werden:
Property TRANSACTION_ISOLATION_LEVEL = 1, 2, 4 oder 8:
Bedeutung der Werte:
TRANSACTION_READ_UNCOMMITTED = 1
TRANSACTION_READ_COMMITTED= 2
TRANSACTION_REPEATABLE_READ= 4
TRANSACTION_SERIALIZABLE = 8