Kurzbeschreibung
Der ArchivJob ermöglicht das kopieren von Nachrichten aus der Datenbank der B2B in andere Archivsysteme. Die B2B unterstützt die Nutzung unterschiedlicher Archivtypen als Archivsystem. Dieser Abschnitt beschreibt, wie Datenbanken als Archivsystem angebunden werden können. Dabei wird eine für die B2B initialisierte Datenbank genutzt, um bestimmte Tabelleneinträge aus der B2B direkt in eine angebundene Datenbank zu transferieren. Diese Daten können dann wie in der B2B aufgerufen werden. Der Vorteil der Anbindung einer Datenbank ist, dass diese auch ohne einen Archivindex durchsuchbar ist.
Einrichtung
Der ArchivJob wird über einen Scheduler eingerichtet. Zunächst wird daher gemäß der Dokumentation zu Scheduler Services ein Scheduler für den ArchivedJob eingerichtet. Als Service Eigenschat B3P_SCHEDULER_REGISTER_CLASSNAME wird der Klassenname org.b2bbp.service.inbound.scheduled.ArchiveJob gesetzt.
Weiterhin muss die Archivdatenbank eingerichtet werden. Das Datenbankschema der Archivdatenbank muss die folgenden Tabellen aus dem B2BbP-Datenbankschema enthalten (siehe auch B2B Installation Tomcat):
- B2BBP_DATA_MESSAGE
- MESSAGEID VARCHAR(100) NOT NULL
- REFERENCEID VARCHAR(50)
- DIRECTION INTEGER
- STARTED TIMESTAMP
- FINISHED TIMESTAMP
- FORMATIN VARCHAR(50)
- FORMATOUT VARCHAR(50)
- VDEWTYPE VARCHAR(20)
- VDEWVERSION VARCHAR(20)
- STATE VARCHAR(3)
- ACKNOWLEDGEMENT VARCHAR(3)
- PARTNER VARCHAR(100)
- SENDER VARCHAR(100)
- CORRELATIONID VARCHAR(50)
- ALTERNATIVEID VARCHAR(50)
- CHANNELID VARCHAR(50)
- CLEARINGCODE VARCHAR(3)
- B2BBP_DATA_ACTION
- ACTIONID VARCHAR(100) NOT NULL
- MESSAGEID VARCHAR(100) NOT NULL
- STARTED TIMESTAMP
- FINISHED TIMESTAMP
- TYPE VARCHAR(10)
- NAME VARCHAR(200)
- CLASSNAME VARCHAR(200)
- STATE VARCHAR(3)
- B2BBP_DATA_ATTRIBUTE_ARCHIVE
- ATTRIBUTEID VARCHAR(100) NOT NULL
- ACTIONID VARCHAR(100) NOT NULL
- MESSAGEID VARCHAR(100) NOT NULL
- NAME VARCHAR(200)
- VAL BLOB
- LEN INTEGER
- TYPE VARCHAR(10)
- PREVIEW VARCHAR(200)
Die zum Durchsuchen des Archives verwendeten Datenbanken werden über globale Eigenschaften konfiguriert. Die Archivsuche (ohne das Freitextfeld) kann im Unterschied zu anderen Archivsystemen auch genutzt werden, ohne dass ein Archivindex verfügbar ist.
Globale Eigenschaften
Die hier angegebenen globalen Eigenschaften konfigurieren den Archivzugriff im Monitoring.
Name der Eigenschaft | erlaubte Werte | Beschreibung |
B3P_LUCENE_INDEX_FOLDER | Zeichenkette der Länge 1..1000 | Das Verzeichnis, in dem das Index zu findden ist. |
B3P_ARCHIVE_DB_IDS | Zeichenkette der Länge 1..1000 | Ein von Semikolon getrennte Liste von Verbindungsschlüsseln. Jede der Verbindungsschlüssel identifiziert drei globale Eigenschaften, die Verbindungsurl, Benutzername und verschlüsseltes Passwort für den Verbindungsschlüssel enthalten. Alle definierten Verbindungsschlüssel werden als Datenbankverbindungen initialisiert. Zu jedem Verbindungsschlüssel muss eine URL, ein Benutzername und ein Passwort definiert sein. |
<Verbindungsschlüssel>.URL | Zeichenkette der Länge 1..1000 | Die JDBC-URL für einen Verbindungsschlüssel. |
<Verbindungsschlüssel>.USER | Zeichenkette der Länge 1..1000 | Der Benutzername für einen Verbindungsschlüssel. |
<Verbindungsschlüssel>.PASSWORD | Zeichenkette der Länge 1..1000 | Dass mit dem B2B CryptUtil verschlüsselte Passwort für einen Verbindungsschlüssel. |
B3P_MONITORING_MAX_RESULTS | Eine positive Ganzzahl | Die maximale Anzahl an Suchergebnissen einer Archivsuche. |
B3P_ARCHIVE_MESSAGE_MONITOR_IMPL | com.nextlevel.b2bbp.dbarchive.EmailArchiveMessageMonitorImpl | Die zu verwendende Klasse für den Zugriff auf archivierte eMail-Nachrichten. |
B3P_ARCHIVE_AS2_MESSAGE_MONITOR_IMPL | com.nextlevel.b2bbp.dbarchive.AS2ArchiveMonitorImpl | Die zu verwendende Klasse für den Zugriff auf archivierte AS2 Nachrichten. |
B3P_ARCHIVE_MONITOR_IMPL | com.nextlevel.b2bbp.dbarchive.ArchiveMessageMonitorImpl | Die zu verwendende Klasse für die Archivsuche. |
B3P_ARCHIVE_DB_USE_ACTION_TABLE | true (default), false | Diese Eigenschaft legt fest, ob die Tabelle B2BBP_DATA_ACTION mit genutzt werden soll oder nicht. |
B3P_ARCHIVE_DB_DRIVERS | Eine Semikolon-separierte Liste von vollständig qualifizierten Klassennamen. | Diese Eigenschaft enthält eine List eder zu verwendenden JDBC-Datenbanktreiber für den Zugriff auf die Archivdatenbanken. |
B3P_ARCHIVE_DB_INDEX_DIRECTORIES | Eine Semikolon-separierte Liste von Pfaden zu Volltextindizes. Ein Backslash (‘\’) ist das Escape-Zeichen für ‘;’ und ‘\’. | Ist diese Eigenschaft gesetzt, werden die in der Liste enthaltenen Volltextindizes statt eines Archivindex für die Volltextsuche verwendet. Die Suche wird auf allen definierten Suchindizes durchgeführt. |
Alle weiteren Einstellungen sind der nachstehenden Tabellen von Service Eigenschaften zu entnehmen.
Service Eigenschaften (Standard)
Die hier angegebenen Service Eigenschaften werden bei Ausführung des Services automatisch mit ihren Standardwerten initialisiert, wenn sie nicht zuvor vom Benutzer gesetzt worden sind.
Name der Eigenschaft | erlaubte Werte | Beschreibung |
B3P_INDEX_TYPE | org.b2bbp.service.inbound.scheduled.ArchiveIndexer | Die Eigenschaft enthält den vollqualifizierten Klassennamen der Schnittstelle org.b2bbp.service.inbound.scheduled.IArchiveMsgMeta |
B3P_LUCENE_INDEX_FOLDER | Zeichenkette der Länge 1..1000 | Der Pfad zum Archivindex. |
B3P_ARCHIVE_TYPE | com.nextlevel.b2bbp.dbarchive.ArchiveMsgImpl | Diese Eigenschaft stellt die Archivierung in Datenbanken ein. |
B3P_ARCHIVE_MSGS | Durch Semikolon getrennte Liste von Attributen | Alle Attributetypen in dieser Liste werden archiviert. |
B3P_ARCHIVE_MSGS_FORMATS | Durch Semikolon getrennte Liste von Nachrichtentypen | Nur hier aufgelistete Nachrichtentypen werden indexiert. Ist die Liste leer, werden alle Nachrichten indexiert. |
B3P_ARCHIVE_STATES | Durch Semikolon getrennte Liste Nachrichtenstatus (Default: 'SUC;MAN') | Sollen auch Nachrichten mit einem anderen Status als SUC oder MAN archiviert werden, so kann man das in dieser Property angeben. Sollen z.B. zusätzlich auch Nachrichten mit Status ERR archiviert werden, so setzt man die Property auf: SUC;MAN;ERR Indexiert und Archiviert werden weiterhin nur Nachrichten mit entsprechenden zu archivierenden Attributen. Andere Nachrichten werden ignoriert. |
B3P_CHECK_DAYS_FROM | positive Ganzzahl | Das maximale Alter einer zu archivierenden Nachricht in Tagen. |
B3P_CHECK_DAYS_TO | positive Ganzzahl | Das minimale Alter einer zu archivierenden Nachricht in Tagen. |
Service Eigenschaften (Archivierung)
Die hier angegebenen Service Eigenschaften sind speziell für die Archivierung in Datenbanken erlaubt.
Name der Eigenschaft | erlaubte Werte | Beschreibung |
---|---|---|
B3P_ARCHIVE_DB_URL | Zeichenkette der Länge 1..100 | Die URL der Datenbankverbindung, in die Nachrichten archiviert werden soll. |
B3P_ARCHIVE_DB_USER | Zeichenkette der Länge 1..100 | Der Benutzername für die Datenbankverbindung. |
B3P_ARCHIVE_DB_PASSWORD | Zeichenkette der Länge 1..100 | Das mit dem CryptUtil verschlüsselte Passwort für die Datenbankverbindung. |
Service Eigenschaften (Experte)
Die hier angegebenen Service Eigenschaften sollten nur von Experten gesetzt werden.
B3P_STOP_ON_ERROR
Name der Eigenschaft | erlaubte Werte | Beschreibung |
B3P_MESSAGE_ID_IN_ARCHIVE | Zeichenkette der Länge 1..100 | Nachrichten-ID einer Nachricht im Archivindex, nach der bei Ausführung des Archivjobs im Archivindex gesucht wird um den Index zu überprüfen. |
B3P_HEART_BEAT_RATE | eine positive Ganzzahl | Sendet in regelmäßigen Abständen ein simples Statement über die Connection, die die Archivierung steuert. Soll verhindern, dass die Connection geschlossen wird, da sie zu lange inaktiv war. |
B3P_DB_NAME | Zeichenkette der Länge 1..100.(ORACLE|MYSQL|POSTGRES|DERBY) | Bestimmt das Statement, welches als HeartBeat gesendet wird. |
B3P_INFOS_UPDATE_INTERVALL | eine positive Ganzzahl | Gibt an wie oft die Ergebnisattribute des Archivejobs aktualisiert werden(Standart:100, d.h. alle 100 archivierte Nachrichten werden die Attribute aktualisiert). |
DB_FETCHSIZE | eine positive Ganzzahl | |
MAX_MESSAGE_IDS_PER_STATEMENT | eine positive Ganzzahl | |
B3P_ARCHIVE_MSGS_ONLY | Durch Semikolon getrennte Liste Attributen | Attributstypen in dieser Liste werden nur archiviert und indexiert (z. B. B3P_MIME_MSG_CONTRL;B3P_AS2_ORIG_STREAM) |
B3P_INDEX_MSGS_ONLY | Durch Semikolon getrennte Liste Attributen | Attributstypen in dieser Liste werden nicht archiviert sondern nur im Archivindex indexiert. |
B3P_ARCHIVE_FALLBACK_MSGS | Durch Semikolon getrennte Liste Attributen | Attributetypen in dieser Liste werden genutztt, falls die Attribute in B3P_ARCHIVE_MSGS nicht gefunden werden konnten. |
B3P_USED_PARTITION | ACTIVE, OFFLINE, CLEARING, NONE (default) | Die zu archivierende Partition, falls der SwitchPartitionJob aktiviert wurde. |
B3P_ARCHIVE_FILTER | Zeichenkette der Länge 1..1000 | Die Eigenschaft enthält den vollqualifizierten Klassennamen der Schnittstelle org.b2bbp.service.inbound.scheduled.ArchiveFilter |
B3P_EXCLUDE_INDEX_EDI | Durch Semikolon getrennte Liste Attributen | Die Attributstypen in dieser Liste werden im Archivindex nicht für die Volltextsuche indiziert. |
B3P_INDEX_ONLY_CHANNELS | Durch Semikolon getrennte Liste Kanalnamen | Sollen die gesplitteten Nachrichten aus den Splitchannels indexiert warden, so kann man die Splitchannels mit Komma oder Semikolon separiert in dieser Property angeben. Diese Nachrichten werden dann nach der Archivierung des entsprechenden Zeitraums indexiert, jedoch nicht archiviert (weil der Beleg bereits mit der Ursprungsnachricht archiviert wurde). |
B3P_ARCHIVE_STOP_TIME | Datum im Format 'HH:mm:ss' | Zeitpunkt, zu dem die Archivierung angehalten werden soll. Format: HH:mm:ss (Beispiel: 23.59:59) Achtung: Es findet keine Datumsprüfung statt. Daher sollte dieser Zeitpunkt am Ende des Tages sein. Keinesfalls am Anfang. |
B3P_ARCHIVE_FROM_DATE | Datum im Format 'YYYY-MM-DD' oder im Format 'YYYY-MM-DD HH:mm:ss', z. B. '2015-05-15 13:12:09'. | Angabe eines festen Datums im Format: YYYY-MM-DD, z.B.: 2010-05-15 (15. Mai 2010). Alle Nachrichten jünger als dieses Datum werden archiviert. |
B3P_ARCHIVE_TO_DATE | Datum im Format 'YYYY-MM-DD' oder im Format 'YYYY-MM-DD HH:mm:ss', z. B. '2015-05-15 13:12:09'. | Angabe eines festen Datums im Format: YYYY-MM-DD, z.B.: 2010-05-15 (15. Mai 2010). Alle Nachrichten jünger als dieses Datum werden archiviert. |
B3P_ARCHIVE_NON_MIME | true, false (default) | Es kann vorkommen, dass aufgrund von Fehlern o.ä. kein Eintrag in die ATTRIBUTE_ARCHIVE Tabelle vorhanden ist. In diesem Falle lässt sich die B3P_BASE_MESSAGE bzw. CURRENT_PAYLOAD archivieren. Dafür alle Attribute, die archiviert werden sollen mit in die Property B3P_ARCHIVE_MSGS aufnehmen und diese Serviceeigenschaft auf 'true' setzen. |
B3P_WRITE_LAST_ARCHIVE_DATE | true, false (default) | Wenn auf 'true' gesetzt, wird der Timestamp, bis zu dem Archiviert wurde als GlobalProperty 'B3P_ARCHIVE_LAST_DATE'gespeichert. Die transparente Suche nutze diesen Timestamp falls er existiert. |
B3P_ARCHIVE_CHANNELS | Durch Semikolon getrennte Liste Kanälen | Falls nur Nachrichten in bestimmten Channels archiviert werden sollen so kann man dies mit der Property B3P_ARCHIVE_CHANNELS machen. Dazu in der Property die Channels durch ; getrennt angeben. Die Property könnte folgenden Inhalt haben: INBOUND_SOPTIM; INBOUND_SAP Durch das setzten der Property B3P_ARCHIVE_CHANNELS_PRE_FIX auf NOT wird die Property negiert das heißt es werden nur Nachrichten archiviert welche nicht in den angegeben Channels sind. |
B3P_ARCHIVE_CHANNELS_PRE_FIX | NOT | Falls der Wert NOT ist, werden nur Systeme in B3P_ARCHIVE_CHANNELS nicht archiviert. |
B3P_ARCHIVE_SYSTEMS | Durch Semikolon getrennte Liste Systemen | Falls nur bestimmte Systeme archiviert werden sollen so kann man diese in der Property B3P_ARCHIVE_SYSTEMS angeben dann werden nur noch die durch die ILN Nummern gegebene Systeme archiviert. Die Property könnte folgenden Inhalt haben: 9903078000005;9900563000003 Durch das setzten der Property B3P_ARCHIVE_SYSTEMS_PRE_FIX auf NOT wird die Property negiert das heißt es werden alles Systeme archiviert welche nicht angegeben sind. |
B3P_ARCHIVE_SYSTEMS_PRE_FIX | NOT | Falls der Wert NOT ist, werden nur Systeme in B3P_ARCHIVE_SYSTEMS nicht archiviert. |
B3P_STOP_ON_ERROR | true, false (default) | Ist der Wert der Eigenschaft true, so wird die Archivierung abgebrochenn, sollte eine Nachricht nicht archiviert werden. |
Siehe auch: Konfiguration anderer ArchivJobs
View Me Edit Me