JDOService

Der JDOService dient zum objektorientierten Speichern, Abrufen und Suchen von Daten unter Nutzung relationaler Datenbanksysteme.

XML-Konfiguration


Wichtiger Hinweis: Die Verfügbarkeit eines Services hängt von der erworbenen Lizenz ab und davon, ob der Service innerhalb der Konfigurationsdatei ./etc/factory.xml der Service-Factory eingetragen wurde (Änderungen erfordern Server-Neustart!). Dort finden Sie auch die zuständige Konfigurationsdatei für einen Service, ansonsten können Sie die Konfigurationsdatei des Services auch direkt in der GUI des Services bearbeiten (Änderungen erfordern Service-Neustart!).


Folgendes XML-Fragment mit allen möglichen Basiseinstellungen kann für die Konfiguration des JDOServices verwendet werden.


<Set name="autocreateCommitMode">true</Set>
<Set name="autocreateTable">true</Set>
<Set name="compressionAllowed">true</Set>
<Set name="compressionStartsAt">10000</Set>
<Set name="connectionService">DatabaseService</Set>
<Set name="indent">true</Set>
<Set name="replicatePassword">admin</Set>
<Set name="replicateUser">admin</Set>
<Set name="serializationAllowed">true</Set>
<Set name="sqlService">SqlService</Set>


Hierbei haben die Parameter die folgenden Bedeutungen.


autocreateCommitMode

Diese Einstellung ist zusammen mit der Einstellungen autocreateTable und dem Autocommitmode der Transaktion zu sehen. Ist autoCreateTable und Autocommit deaktiviert, wird über diesen Punkt eingestellt, wie die Transaktion abgeschlossen werden soll, wenn auf eine Tabelle eines Objekts zugegriffen wird, die noch nicht erzeugt wurde.
Manche Treiber für den Zugriff auf Datenbanken blockieren eine Verbindung so lange, bis ein expliziter commit oder abort abgesetzt wird. Ist der autocreateCommitMode auf true gesetzt, wird in so einem Fall ein commit, sonst ein abort abgeschickt.

autocreateTable

Ist dieser Punkt auf true gesetzt, wird eine Tabelle für ein Objekt automatisch erstellt, sobald versucht wird auf diese zuzugreifen und diese zu diesem Zeitpunkt noch nicht existiert.

compressionAllowed

Wird dieser Wert auf true gesetzt, wird bei XML-basierter Datenspeicherung Komprimierung verwendet. Diese Einstellung kann von der erzeugten Gesamtgröße abhängig gemacht werden. Dies erfolgt über die Einstellung compressionStartsAt.

compressionStartsAt

Legt die minimale Größe in Bytes fest, ab der eine Kompression durchgeführt werden soll. Wird der Wert 0 angegeben, wird immer komprimiert gespeichert.

connectionService

Legt den zu verwendenden DatabaseService fest.

indent

Wird der Wert true gesetzt, wird bei XML-basierter Speicherung ein für Menschen besser lesbares XML generiert (mit Zeilenumbrüchen und Einrückungen).

replicatePassword

Soll die Replikation über mehrere Integration Server und Datenbanken erlaubt werden, kann auf diese Weise das Passwort festgesetzt werden, das das anfragende System authentifiziert.

replicateUser

Soll die Replikation über mehrere Integration Server und Datenbanken erlaubt werden, kann auf diese Weise der Benutzername festgesetzt werden, der das anfragende System authentifiziert.

serializationAllowed

Legt fest, ob Daten nicht als XML, sondern im Java-eigenen Format für das Serialisieren von Objekten in der Datenbank abgespeichert werden sollen.

sqlService

Legt den zu verwendenden SqlService fest.

Hinzufügen eines Create-Statements


Damit der JDOService in der Lage ist, bei Bedarf eine neue Tabelle für ein Datenobjekt zu erzeugen, ist es notwendig, die hierfür zu verwendenden SQL-Statements in Abhängigkeit von der verwendeten Datenbank festzulegen.

Die genauen Aufrufparameter würden den Rahmen dieser Dokumentation sprengen, und sind im Normalfall auch nicht von Kundenseite benötigt. Setzen Sie sich in diesem Fall bitte mit dem Lobster-Support in Verbindung.

Allgemeine Einstellungen


images/download/attachments/189461455/Services_21-version-1-modificationdate-1737957845837-api-v2.png


(1) Der SqlService, der benutzt werden soll.

(2) Hier kann konfiguriert werden, wie die Objekte gespeichert werden.

(3) Erlaubt das temporäre Ändern von Create-Statements der einzelnen Datenbanken. Siehe auch Abschnitt Tabellen-Einstellungen unten. Achtung: Die Änderungen gehen nach einem Neustart des Services verloren.

(4) Hier kann angegeben werden, ob beim XML-basierter Speicherung die Daten komprimiert werden sollen. Der Wert in (5) gibt dabei einen Schwellenwert an, ab dem die Komprimierung erfolgen soll (entspricht compressionStartsAt aus der XML-Konfiguration).

(6) Benutzername und Passwort für die Replikationsfunktionalität über den MessageService.

Aktive DataSessions


images/download/attachments/189461455/Services_22-version-1-modificationdate-1737957845834-api-v2.png


(1) Liste der gerade aktiven DataSessions. Über das Kontextmenü können Sie sich Details anzeigen lassen und eine Session löschen.

(2) Ist die automatische Erstellung von Tabellen für JDO-Objekte deaktiviert (siehe Checkbox unterhalb Punkt (1) im Screenshot des vorherigen Abschnitts), müssen die Tabellen von Hand erstellt werden. Dies kann über diese Option geschehen. Einzugeben ist hierbei der Tabellenname des Objekts, für das die Tabelle erstellt werden soll und der zu verwendende Datenbank-Alias. Vor den Tabellennamen wird vom System das Präfix xml_ gestellt. Soll die zu erstellende Tabelle also z. B. xml_unitrealm heißen, ist in dem Feld also der Wert unitrealm anzugeben.

Tabellen-Einstellungen


Siehe auch Punkt (3) im ersten Screenshot oben.


images/download/attachments/189461455/Services_23-version-1-modificationdate-1737957845830-api-v2.png


(1) Datenbankspezifische Tabelleneinstellungen. Über das Kontextmenü können Sie Einträge bearbeiten, hinzufügen und entfernen.

(2) Liste der Statements, die ausgeführt werden sollen. Für den Platzhalter #TABLE# wird der Tabellenname gesetzt.

(3) Temporäres Speichern der Einstellungen. Achtung: Nach dem Neustart des Services gehen Änderungen verloren.

Loglevel-Abhängigkeiten


Änderungen des Loglevels beim LogService haben keinen Einfluss auf das Logverhalten des JDOServices.

Beim Setzen des Verbose-Modes werden bei allen Datenzugriffen die einzelnen Schritte beim Datenzugriff per JDO, sowie die dabei benötigte Zeit gemeldet.