Data Loader

Funktion

Der Microservice konsumiert die Zeiträume aus der Work Package Queue und lädt alle relevanten Nachrichten innerhalb des Zeitraums aus der B2B-Datenbank. Dabei werden alle zur Archivierung konfigurierten Informationen der Nachricht geladen. Danach wird der Status (VS) an der Nachricht auf (“In Archivierung”) aktualisiert. Zu jeder Nachricht wird dann ein Eintrag zur Archivierung in die Persistence Queue geschrieben.

Konfiguration

Die Konfiguration des Microservices geschieht über die im “docker-compose”-Datei angegebene “application.yml”. Die Variablen darin werden üblicherweise im globalen docker environment File konfiguriert, siehe Installation.

Das Standard Docker Image enthält die folgenden Konfigurationsmöglichkeiten:

# Name of the service consuming message queue of archiving periods
consumer-queue: work_package_queue
# Name of the service producing message queue of extracted messages for archiving
production-queue: persistence_queue
# Maximum size of the production queue. The data-loader service pauses temporarily if this threshold is exceeded. Default is 1000
production-queue-max-size: 1000

# Configuration of the message archive state operations. Use defaults for production.
#message-archive-state:
#  # only set false for development/testing in database 'read-only' mode
#  doUpdateToPending: true
#  # message archive pending state, B2B default: ARP
#  pending: ARP

message:
  # comma separated list of message state. By default the value are successful ("SUC") and manually finished ("MAN")
  states: SUC,MAN
attribute:
  # comma separated list of attribute ids to collect for archiving message information
  ids: ${ATTRIBUTE_IDS}
spring:
  # RabbitMQ access data
  rabbitmq:
    host: ${RABBITMQ_HOST}
    port: ${RABBITMQ_PORT}
    user: ${RABBITMQ_USER}
    password: ${RABBITMQ_PASSWORD}
  # B2B database access data
  datasource:
    driver-class-name: ${DATABASE_DRIVER_CLASS_NAME}
    url: ${DATABASE_URL}
    username: ${DATABASE_USER}
    password: ${DATABASE_PASSWORD}
Zusätzlich muss die nötige .jar-Datei des Datenbanktreibers neben die “application.yml” gelegt werden.

Releases

Der Service wird in den folgenden Versionen als Docker Container über unsere Registry docker-nob-erp.next-level-apps.com/data-loader bereitgestellt.

2024-09-06

Ticket Beschreibung
BTOB-12678 Die RAM-Überlastung durch eine große Anzahl an Nachrichten wird verhindert, da die persistence_queue nun auf 1000 Nachrichten begrenzt ist. Der data-loader Service pausiert, solange dieser Schwellenwert überschritten wird.

2024-02-28

Ticket Beschreibung
BTOB-12126 Komprimierte Attribute werden in der B2B-Datenbank nicht mehr mit dem dekomprimierten Inhalt überschrieben

2023-08-09

Ticket Beschreibung
BTOB-11557 Nachrichten, die in derselben Zeitscheibe lagen, wurden mit gleichem Inhalt archiviert. Dies wurde nun behoben
BTOB-11563 Archivierung als Service: Große Datenbank-Attribute-Werte werden nun so archiviert, dass sie lesbar angezeigt werden

2023-03-16

Ticket Beschreibung
BTOB-8617 Erweiterung des data-loaders um beliebige B2B Nachrichten. Zudem: Konfigurierbare Ausführung im “read-only” (doUpdateToPending) Modus.

2022-11-23

Ticket Beschreibung
BTOB-8713 Auch Nachrichten ohne Verarbeitungs-Ende Zeit können nun zur Archivierung geladen werden.

2021-06-28

Ticket Beschreibung
BTOB-7496 Initiale Entwicklung
View Me   Edit Me