Nachrichtenduplikate werden in einen seperaten Channel ausgesteuert.

Ü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 um org.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

View Me   Edit Me