Einrichtung
Kurzbeschreibung
Der Löschjob löscht alle archivierten Nachrichten vor einer angegebenen Zeitgrenze aus der Datenbank. Zusätzlich können hier auch nicht archivierte Messages, Actions, Attribute oder Errors nach Konfiguration gelöscht werden.
Der Löschjob protokolliert zur Laufzeit, welche Tabellen er zuletzt bearbeitet hat und wie viele Einträge jeweils in den Tabellen gelöscht wurden.
Der Joblauf bricht standardmäßig nach 5 Stunden ab. Dieser Wert kann aber konfiguriert werden.
Bei Bedarf kann man in der Tabelle B2BBP_DATA_ATTRIBUTE auch nur den Val und Preview Wert cleanen. Dies macht Sinn wenn der Löschjob zu langsam ist. Dies geht schneller, weil beim cleanen keine Indexreorganisation nötig ist.
Der Löschjob ermittelt zuerst die MessageIds der Nachrichten, welche gelöscht werden sollen (mit B3P_DELETION_SPAN kann man angeben, wie viele Tage bei der Ermittlung der MessageIds auf einmal betrachtet werden). Dann wird mit den MessageIds ein Where Statement konstruiert, welches beim Löschen bzw. cleanen verwendet wird.
Das letzte Löschdatum wird in den Global Properties B3P_LAST_DB_DELETION_* vermerkt. Beim nächsten Lauf startet der Job ab diesem Datum. Deswegen kann nur eine einzige Instanz des DeleteJobDBAndArchivedAttributes und DeleteJobDBAndArchived konfiguriert sein. Um mehrere Instanzen zu konfigurieren, muss an einer davon die Property B3P_DELETE_FROM konfiguriert werden.
Anlegen des SCHEDULER-Job
Der Service wird im Bereich „Administration“ unter dem Reiter „Service“ angelegt. Man kann einen bestehenden SCHEDULER-Job kopieren und die Service ID abändern, oder einen neuen Job Anlegen. Siehe Einrichtung von Scheduler Services
Als B3P_SCHEDULER_REGISTER_CLASSNAME muss org.b2bbp.service.inbound.scheduled.DeleteJobDBAndArchivedAttributes
eingetragen werden.
Konfiguration der ServiceProperties
Property |
Property Wert |
Property Beschreibung |
B3P_SCHEDULER_NAME |
Beliebiger Text |
Name der im Monitor angezeigt wird |
B3P_SCHEDULER_TYPE |
CRON |
Sorgt dafür, dass der Scheduler einmal am Tag ausgeführt wird |
B3P_CRON_HOURS |
Ganzer Zahlwert zwischen 0 und 23 |
Ausführungsstunde des Jobs |
B3P_CRON_MINUTES |
Ganzer Zahlwert zwischen 0 und 59 |
Ausführungsminute des Jobs |
B3P_SCHEDULER_REGISTER_CLASSNAME |
org.b2bbp.service.inbound.scheduled. DeleteJobDBAndArchivedAttributes |
Hier wird die Klasse angegeben, die vom Scheduler aufgerufen werden soll, in diesem Fall der Löschjob |
B3P_DEL_ARCHIVED_DATE_BEFORE (optional) |
Beispiel: 1 2 5 2 0 0 – Alle Einträge älter als 1 Jahr, 2 Monate, 5 Tage, 2 Stunden, 0 Minuten und 0 Sekunden werden gelöscht. |
Alle archivierten Nachrichten, die vor diesem Zeitpunkt liegen werden gelöscht (und damit alle Actions, Attribute, Errors) etc. Angabe eines CRON Ausdrucks im Format Y M D H M S |
B3P_DEL_ATTRIBUTE_DATE_BEFORE (optional) |
s.o. |
Alle Attribute, die vor diesem Zeitpunkt liegen werden gelöscht |
B3P_DEL_ERROR_DATE_BEFORE (optional) |
s.o. |
Alle Errors, die vor diesem Zeitpunkt liegen werden gelöscht |
B3P_DEL_ACTION_DATE_BEFORE (optional) |
s.o. |
Alle Actions, die vor diesem Zeitpunkt liegen werden gelöscht. WARNUNG! Damit werden auch alle Attribute, Errors und Archivbelege gelöscht! |
B3P_DEL_MESSAGE_DATE_BEFORE (optional) |
s.o. |
Alle Messages, die vor diesem Zeitpunkt liegen werden gelöscht. WARNUNG! Damit werden auch alle Actions, Clearingstatus, erweiterte Historie, Attribute, Errors und Archivbelege gelöscht! Inkl. des Eintrags im Monitor. |
B3P_MAXIMUM_RUNTIME_DEFAULT_DAYS |
Ganze Zahl zwischen 1 und 23 |
Maximale Laufzeit des Jobs in Stunden. Standardwert 5. |
B3P_BUFFER_SIZE |
z.B. 1000 |
Länge des Sql Where Statements mit den MessageIDs |
B3P_DELETE_NOT_ERR |
true, false |
Wenn true werden nur Nachrichten welche nicht auf Error gelaufen sind gelöscht. Wird nur verwendet wenn B3P_DEL_ARCHIVED_DATE_BEFORE Nicht gesetzt ist. |
B3P_DELETION_SPAN |
z.B. 1 |
Gibt an wie viel Tag auf einmal bearbeitet werden sollen. Falls der Zeitraum größer ist wie der hier angegebene Wert wird iterativ vorgegangen. |
B3P_FETCH_SIZE |
z.B. 50000 |
Gibt die Größe des Fetch Size beim Ermitteln der MessageIds an. |
B3P_USE_IN_STATEMENT |
true, false |
Wenn der Wert true ist wird ein sql in Statement verwendet wenn der Wert false oder nicht gesetzt ist wird ein sql or Statement verwendet true führt möglicherweise zu besseren Leistungen. |
Properties zur zusätzlichen Einschränkung der betrachteten Nachrichten
Property | Wert | Beschreibung |
---|---|---|
B3P_DIRECTION | 0 oder 1 | Bei 1 werden nur Ausgehende Nachrichten betrachtet bei 0 nur eingehende. |
B3P_CHANNELID | z.B. OUTBOUND_CONTRL | Nur Nachrichten mit dieser ChannelId werden betrachtet. Es können mehrere Werte Semikolon-separiert angegeben werden. |
B3P_VS_STATE | z.B. SUC | Nur Nachrichten mit diesem Verarbeitungsstatus werden betrachtet. Es können mehrere Werte Semikolon-separiert angegeben werden. |
B3P_PARTNER | z.B. 9900655000002 | Nur Nachrichten bei Welchen Partner diese ILN enthält werden betrachtet. Es können mehrere Werte Semikolon-separiert angegeben werden. |
B3P_SENDER | z.B. 9900655000002 | Nur Nachrichten bei Welchen Sender diese ILN enthält werden betrachtet. Es können mehrere Werte Semikolon-separiert angegeben werden. |
B3P_DELETE_PROFESSIONAL_ATTRIBUTES | true oder false bzw. weglassen | Wenn true werden nur fachliche Attribute gelöscht |
B3P_DELETE_TECHNICAL_ATTRIBUTES | true oder false bzw. weglassen | Wenn true werden nur technische Attribute gelöscht |
B3P_NOT_DELETE_ATTRIBUTES | z.B. B3P_BASE_MESSAGE | Hier können Attribute angegeben werden welche nicht gelöscht werden. |
B3P_NOT_DELETE_ACTIONS | z.B. com.arvato.application.message.ReceivedAs4MessageProcessor | Action classnames können festgelegt werden und diese Aktionen werden nicht gelöscht |
B3P_GENERIC_TYPE | z.B. VDEWTYPE (Beliebige Spalte in der Tabelle B2BBP_DATA_MESSAGE) | Definiert die Spalte auf welche sich B3P_GENERIC_VALUES bezieht. |
B3P_GENERIC_VALUES | z.B. APERAK;CONTRL | Definiert den Wert bzw. Werte welche die Property B3P_GENERIC_TYPE haben muss damit die Nachrichten berücksichtigt werden. Es können mehrere Werte Semikolon-separiert angegeben werden. |
B3P_DELETE_FROM | z.B. 2020.01.30 00:00:00 | Definiert den Startzeitpunkt der zu löschenden Nachrichten. Fall nicht konfiguriert, wird der letzte Zeitpunkt in den Global Properties gespeichert und beim nächsten Joblauf als Startzeitpunkt verwendet. |
B3P_USE_DEFAULT_BOARDER | true oder false | Deprecated. Wenn true wird als Startzeitpunkt der 01.01.1990 genommen. Statt dieser Property soll B3P_DELETE_FROM benutzt werden. |
Mehrere Werte können durch ; getrennt angegeben werden.
Die Einschränkung greift unabhängig von der Tabelle, welche gelöscht wird, da alle Tabellen welche gelöscht werden können, eine Verbindung zur Tabelle B2BBP_DATE_MESSAGE haben.
Attribute leeren
Statt dem Löschen, können die Werte der Attribute (BLOBs) gelehrt (auf NULL gesetzt) weren. Dazu muss die Eigenschaft B3P_DEL_ATTRIBUTE_DATE_BEFORE konfiguriert und die zu leerenden Attribute in der Eigenschaft B3P_CLEAN_ATTRIBUTES verzeichnet werden:
Property |
Wert |
Beschreibung |
B3P_DEL_ATTRIBUTE_DATE_BEFORE |
s.o. |
|
B3P_CLEAN_ONLY |
true |
Wenn true wird nur gecleaned und nicht gelöscht.
WARNUNG! Wenn false, werden die angegebenen Attribute gecleaned und danach alle Attribute gelöscht. Diese Möglichkeit ist nicht sinnvoll, deshalb wird diese Eigenschaft ab der B2B-Version 1.10.0 gelöscht. |
B3P_CLEAN_ATTRIBUTES |
z.B. B3P_BASE_MESSAGE; B3P_MESSAGE_HTTP_PLAIN |
ATTRIBUTEID. nur Werte mit dieser AttrubuteID in der Tabelle B2BBP_DATA_ATTRIBUTE werden gecleaned. |
Jobläufe pro Tage konfigurieren
Der Job kann so konfiguriert werden, dass er nur an bestimmten Wochentagen und dann nur zu bestimmten Uhrzeiten läuft. Ist eine oder mehrere dieser Properties konfiguriert, läuft der Job nur an diesen Tagen! Alle Laufzeiten in Stunden.
Property | Wert | Beschreibung |
---|---|---|
B3P_RUNTIME_SUNDAY | Ganze Zahl zwischen 0 und 23 | Laufzeit an Sonntagen |
B3P_RUNTIME_MONDAY | Ganze Zahl zwischen 0 und 23 | Laufzeit an Montagen |
B3P_RUNTIME_TUESDAY | Ganze Zahl zwischen 0 und 23 | Laufzeit an Dienstagen |
B3P_RUNTIME_WEDNESDAY | Ganze Zahl zwischen 0 und 23 | Laufzeit an Mittwochen |
B3P_RUNTIME_THURSDAY | Ganze Zahl zwischen 0 und 23 | Laufzeit an Donnerstagen |
B3P_RUNTIME_FRIDAY | Ganze Zahl zwischen und 23 | Laufzeit an Freitagen |
B3P_RUNTIME_SATURDAY | Ganze Zahl zwischen 0 und 23 | Laufzeit an Samstagen |
Index anlegen
Wenn Errors, Actions oder Messages gelöscht werden sollen, muss in der Tabelle B2BBP_DATA_ERROR folgender Index angelegt werden:
CREATE INDEX IDX_ERROR_MESSAGE_ID ON B2BBP_DATA_ERROR ( MESSAGEID ASC );
View Me Edit Me