JDOService

The JDOService is used for object-oriented storage, retrieval and search of data using relational database systems.

XML configuration


Important note: The availability of a service depends on the license purchased and whether the service has been registered in the configuration file ./etc/factory.xml of the Service Factory (changes require server restart!). There you will also find the responsible configuration file for a service, otherwise you can also edit the configuration file of the service directly in the GUI of the service (changes require a service restart!).


The following XML fragment with all possible base settings can be used to configure the JDOService.


<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>


The parameters have the following meanings.


autocreateCommitMode

This parameter has to be seen along with the settings autocreateTable and the autocommit mode of the transaction. If autoCreateTable and autocommit are disabled, this parameter sets how to complete the transaction when accessing a table of an object that has not yet been created.

Some database drivers block a connection until an explicit commit or abort is issued. In such a case, if the autocreateCommitMode is set to true, a commit is sent, otherwise an abort.

autocreateTable

If this parameter is set to true, a table is created automatically for an object as soon as there is an attempt to access it and it does not yet exist.

compressionAllowed

If this value is set to true, compression is used for the XML-based data storage. This setting can be made dependent on the total size generated, see parameter compressionStartsAt.

compressionStartsAt

Defines the minimum size in bytes from which compression is to be performed. If 0, compression will always be used.

connectionService

Sets the DatabaseService to use.

indent

If set to true and the XML-based storage is used, a human-readable XML (with line breaks and indents) is generated.

replicatePassword

If replication is to be allowed via multiple Integration Servers and databases, this parameter can be used to set the user name that authenticates the requesting system.

replicateUser

If replication is to be allowed via multiple Integration Servers and databases, this parameter can be used to set the user name that authenticates the requesting system.

serializationAllowed

This parameter allows you to save data in the database as serialized Java objects, instead of saving it in XML files.

sqlService

Sets the SqlService to use.

Adding a create statement


In order for the JDOService to be able to create a new table for a data object, it is necessary to specify the SQL statements to be used for this, depending on the database used.

The exact call parameters would go beyond the scope of this documentation, and are normally not required by the customer. If you do need them, please contact our support.

General settings


images/download/attachments/189461455/Services_21_EN-version-1-modificationdate-1737957845835-api-v2.png


(1) The SqlService to be used.

(2) Here you can configure how the objects are stored.

(3) Allows the temporary modification of the create statements of each database. See also section Table Settings below. Attention: The changes will be lost after restarting the service.

(4) Here you can specify whether the data is to be compressed for XML-based storage. The value in (5) specifies a threshold at which the compression is to take place (corresponds to compressionStartsAt in the XML configuration).

(6) Username and password for the replication functionality via the MessageService.

Active "DataSessions"


images/download/attachments/189461455/Services_22_EN-version-1-modificationdate-1737957845832-api-v2.png


(1) The list of currently active DataSessions. You can display details and delete a session via the context menu.

(2) If the automatic creation of tables for JDO objects is deactivated (see the checkbox below item (1) in the screenshot of the previous section), the tables must be created manually. This can be done here. Enter the table name of the object for which the table is to be created and the database alias to be used. The system will add the prefix xml_ to the table name. If the table to be created should be called xml_unitrealm, for example, the value unitrealm has to be specified in the field.

Table settings


See item (3) in the first screenshot above.


images/download/attachments/189461455/Services_23_EN-version-1-modificationdate-1737957845828-api-v2.png


(1) Database-specific table settings. The context menu allows you to edit, add and remove entries.

(2) List of statements to be executed. The placeholder #TABLE# will be replaced with the table name.

(3) Saving the settings temporarily. Attention: After restarting the service, changes will be lost.

Log level dependencies


Changes to the log level of the LogService have no influence on the logging behaviour of the JDOService.

When setting the verbose mode, the individual steps, as well as the time required, are reported for all data accesses via JDO.