Übersicht
Mit der ChannelDistribution DuplicateMessageCheck können Nachrichtenduplikate in einen separaten Channel ausgesteuert werden. Eine Nachricht wird dann als Duplikat betrachtet, wenn Datenaustauschreferenz, Sender-MPID und Partner-MPID gleich sind und zwischen Erstellung der Nachrichten weniger als 10 Jahre vergangen sind.
Die Prüfung kann in Inbound- und Outbound-Channels erfolgen. Inbound-Channels werden definiert als Channels, deren Name mit “IN_” beginnt oder “INBOUND” enthält. Outbound-Channels müssen dementsprechend mit “OUT_” beginnen oder “OUTBOUND” enthalten.
Werden Duplikate in einem Inbound-Channel gefunden, werden sie standardmäßig in den Channel DUPLICATE_MESSAGE_CHANNEL ausgesteuert. Duplikate in einem Outbound-Channel landen standardmäßig im DUPLICATE_MESSAGE_CHANNEL_OUT. Beide Standard-Channels können durch einen Eintrag in der Extension B3P_CHANNEL_MAP auf beliebige andere Channel gemappt werden (empfohlen: IN_ERR_DUPLICATE / OUT_ERR_DUPLICATE).
Check überspringen
DuplicateMessageCheck wird nicht ausgeführt werden, wenn
- es sich und eine CONTRL-Nachricht handelt
- Im Message Context (z.B. als Service Property des Eingangsservices) eine der Variablen den Wert “true” hat: B3P_SKIP_APERAK_CHECK, SKIP_CONTRL_CHECK, SKIP_APERAK_AND_CONTRL, B3P_SKIP_Z07_CHECK
Einrichtung
In der Extension EXT_CHANNEL_DIST müssen folgende Einträge vorgenommen werden:
- Zur Aktivierung muss
registered.classes
umorg.b2bbp.channels.extension.DuplicateMessageCheck;
ergänzt werden. - Zur Konfiguration muss die ChannelDistribution folgendermaßen konfiguriert werden:
org.b2bbp.channels.extension.DuplicateMessageCheck.registeredServiceIds=* org.b2bbp.channels.extension.DuplicateMessageCheck.executeOnChannelId=IN_ERR;IN_B2B;OUT_ERR org.b2bbp.channels.extension.DuplicateMessageCheck.skipChannelDistributionOnChannelId=IN_ERR_DUPLICATE;OUT_ERR_DUPLICATE
In der Channelliste von executeOnChannelId
sollten alle Inbound- und Outbound-Channel angegeben werden, in denen Duplikatschecks durchgeführt werden sollen.
Die Channels müssen natürlich erzeugt und für die Verarbeitung der duplizierten Nachrichten konfiguriert werden.
Konfigurationsmöglichkeiten
GlobalProperty / Eigenschaften | Wert | Beschreibung |
CHECK_ARCHIVE_FOR_DUPLICATE_MESSAGE | true / false | true: Es wird auch im ArchivIndex nach Duplikaten gesucht; false: Es wird nur in der Datenbank nach Duplikaten gesucht |
B3P_EXCLUDED_CHANNELS_FOR_DUPLICATE_MESSAGE | Liste von Inbound-Channels; identische Nachrichten, die in einen dieser Channels liegen, werden von der DB-/Archivsuche nicht als Duplikate erkannt/gemeldet. | |
B3P_EXCLUDED_CHANNELS_FOR_DUPLICATE_MESSAGE_OUT | Liste von Outbound-Channels; identische Nachrichten, die in einen dieser Channels liegen, werden von der DB-/Archivsuche nicht als Duplikate erkannt/gemeldet. | |
B3P_DUPLICATE_MESSAGE_CHECK_EXCLUDE_MANUAL_STOPPED | true / false (default) | Falls die Property auf true steht, werden manuell beendete Nachrichten (VS=MAN) beim Check nicht berücksichtigt. Diese Property ist für Testsysteme gedacht und darf nicht produktiv konfiguriert werden. |
In der Extension DUPLICATE_MESSAGE_CHECK_CD_CONFIGURATION kann mit dem AttributDUPLICATE_MESSAGE_SEARCH_TIME_PERIOD_IN_DAYS
in Anzahl der Tage ein Zeitraum angegeben werden, in welchem eine Nachricht für die Duplikatsprüfung ausgewertet wird.
Wird kein gültiger Wert angegeben, wird standardmäßig ein Wert von 3650 (10 Jahre) verwendet.
In der Extension B3P_CHANNEL_MAP sollten die Standardchannels, in die Duplikate verschoben werden sollen, auf andere Channels gemappt werden.
Beispiel:
DUPLICATE_MESSAGE_CHANNEL=IN_ERR_DUPLICATE
DUPLICATE_MESSAGE_CHANNEL_OUT=OUT_ERR_DUPLICATE