Runtime Parameters Reference

The runtime is configured using parameters defined in the engineParameters.xml file located in the properties/ sub-folder of the runtime installation directory.

This file includes the following configuration elements:

In this file, you can also configure:

Configuration samples are provided in the properties/samples/ sub-folder of the runtime installation directory.
Passwords are encrypted using the encrypt <password> command on the runtime console
You can externalize the parameters in the engineParameters.xml file using environment variables.

Runtime Parameters

The following parameters define the overall behavior of the runtime.

Parameter Default value Description

temporaryFolder

temp

Temporary folder for the Runtime. Used by developers as a workspace, and by the Runtime to store some temporary files.

deliveryExtension

deliv

Extension of the deliveries. Do not change this value.

defaultFetchSize

1000

Default fetch value for reading data in databases. This value may be overriden by data flows designers or when configuring deliveries for production.

defaultBatchSize

1000

Default batch update value for writing data into databases. This value may be overriden by data flows designers or when configuring deliveries for production.

defaultJdbcConnectionTimeout

100

Default timeout database connections in seconds.

defaultJdbcQueryTimeout

10

Default timeout for database queries in seconds.

enableConnectionPoolForJdbcDatabases

false

If this parameter is set to true, connections created and used by the runtime to communicate with JDBC databases are performed through a connection pool.

enableConnectionPoolForLogDatabase

false

If this parameter is set to true, connections created and used by the runtime to communicate with the log database are performed through a connection pool.

defaultSessionReportNumber

10

Default number of sessions for the reporting part of the runtime. This value may be overriden by the graphical interface.

jythonVersion

2.2

Jython interpreter version used for scripting actions. To use another Jython version, copy the corresponding Jython files (you can download the Jython Standalone library files from the Jython website) to a /lib/jython/<jython-version> sub-directory the Runtime installation directory, and set the jythonVersion parameter to the name of this directory.

Make sure that Java system requirements of the Jython version that you plan to use are compabible with the Runtime requirements.

stackTraceOnStdOutput

true

Set to true to write the stacktrace to the standard output in case of an error.

statisticsOnStdOutput

true

Set to true to write the statistics to the standard output at the end of a session.

sumVariables

List of the variables used to compute the session statistics.

Services

The following parameters configure the runtime services.

Service Startup

Parameter Default value Description

launchSchedulerEngine

true

Start the built-in scheduler.

launchExecutionEngine

true

Start the execution engine.

startInternalDb

true

Start an internal H2 database used for session logs and schedules.

startSoapServer

true

Start the SOAP and REST servers that enable Semarchy xDI to expose web services.

Services Ports

Parameter Default value Description

enableHttpClientConnections

true

Defines whether clients can connect and perform operations on the Runtime using the HTTP protocol.

rmiHost

RMI host (IP address or host name). You can specify it for specific network configurations. For example, when there are multiple domains, or when address translation generate different IP addresses for the same host. It defaults to localhost when undefined.

rmiPort

42000

IP port of the Java RMI service used by the clients (Designer and Semarchy xDI Production Analytics) to communicate with the Runtime

rmiCallbackPort

In the RMI protocol, clients can also receive queries from the server on a callback port. The callback port defaults to the rmiPort value.

soapHost

SOAP and REST host (IP address or host name). You can specify it for specific network configurations. For example, when there are multiple domains, or when address translation generate different IP addresses for the same host. It defaults to localhost when undefined.

soapServerPort

42200

Listening port for the SOAP and REST servers.

internalDbTcpPort

42100

Internal database TCP port for JDBC access.

internalDbWebPort

42101

Internal database port for web access.

Web Services Parameters

Parameter Default value Description

soapServerUser

Optional user for queries to the SOAP server

soapServerPassword

Optional password for queries to the SOAP server

soapServerUncryptedPassword

Optional unencrypted password for queries to the SOAP server

soapServerThreadPoolSize

Maximum number of concurrent threads on the SOAP server. If number exceeds this size, sessions are put on hold

httpRestServerUser

Optional user for queries to the REST server

httpRestServerPassword

Optional password for queries to the REST server

httpRestServerUncryptedPassword

Optional unencrypted password for queries to the REST server

webServiceInputMessageKeep

if_error

Specifies if the input files created during web services invocations should be kept or not. The possible values are: yes, no, if_error. This parameter may also be set in the headers of the web Services and in the meta-inf of a process.

webServiceOutputMessageKeep

if_error

Specifies if the output files created during web services invocations should be kept or not. The possible values are: yes, no, if_error. This parameter may also be set in the headers of the web Services and in the meta-inf of a process.

webServiceFaultMessageKeep

if_error

Specifies if the fault files created during web services invocations should be kept or not. The possible values are: yes, no, if_error. This parameter may also be set in the headers of the web Services and in the meta-inf of a process.

Security

Services

Parameter Default value Description

rmiEnableTls

false

Set to true to secure the RMI protocol with TLS.

webServiceSecureProtocol

Protocol to be used to secure the endpoints. For example, TLSv1.1.

webServiceKeyStoreFile

Path to the Java keystore containing the certificate used to secure the endpoints.

webServiceKeyStoreType

Java keystore type, such as JKS.

webServiceKeyStorePassword

Password of the keystore file.

webServiceKeyAlias

Alias of the key in the keystore.

webServiceKeyPassword

Password of the key.

Encryption

Parameter Default value Description

globalPasswordCipheringKeyName

Name of the key used for all password encryption/decryption operation. This key must be in the keystore defined in the Runtime configuration. This parameter replaces the deprecated passwordCipheringKeyName parameter.

deliveryPasswordCipheringKeyName

Name of the key used for password decryption while running a delivery. This key is used for passwords stored in deliveries. This key overrides globalPasswordCipherKeyName key when both are defined for the purpose of deliveries password decryption. This key must be in the keystore defined in the Runtime configuration.

Logging

In this part, the default values will be those used for the logs in H2 (the internal base). For other logs examples, please refer to the example files that are provided.

Logging Configuration

The following parameters define the overall logging behavior of the runtime.

Parameter Default value Description

debugLevel

0

Debug level in the Runtime

userLogDefaultName

internalDB

Database used for logging. A corresponding log database configuration must exist under the <logs> node.

memoryLogScanDelay

10000

Scan delay of the logs that have been brought back to memory so as to be purged, in milliseconds.

defaultSessionLogLevel

400

Default Log Level for the sessions. A higher value means that more information is logged. Possible values are: –1, 0, 100, 200, 300, 400.

The defaultSessionLogLevel only applies to sessions on which the log level is not specifically defined manually at execution.

defaultChildSessionLogLevelInheritance

true

This parameter defines whether child sessions should by default inherit the log level from their parent session. This applies only for child sessions started without a log level defined. See Log Level Inheritance for more details.

logPurgeBatchSize

Batch size used when performing purge operations on the log database. When this parameter is not specified the purge operations process all rows at once. Specifying a batch size avoids overloading the database for purge operations.

Log Database Properties

The following properties can be set in the log database definition (<log> node) to configure this database.

Property Default value Description

userLogName

internalDB

Name of the log database. This name is used in the userLogDefaultName runtime parameter to use this database to log by default.

autoUpdate

true

Set to true to automatically update the tables of the log when needed.

userLogClass

com.semarchy.xdi.runtime.sessionlog.RdbmsLogger

Java class used for logging. Do not change this value.

synchMode

synch

Log capture mode:

  • synch: Session logs are captured synchronously. A session logs synchronously all its session logs while progressing with execution.

  • asynch: Session logs are captured asynchronously. Session execution does not wait for logging to complete to proceed.

  • synchFirstLog: The first session log capture is synchronous, then subsequent logs are captured asynchronously.

Log Database Parameters

The following parameters can be set under a log database definition to configure the storage for this log database.

Parameter Default value Description

userLogRdbmsDriver

org.h2.Driver

Driver used to communicate with the log database storage. This driver should be in the module specified in the userLogRdbmsModule parameter.

userLogRdbmsUrl

jdbc:h2:tcp://localhost:42100/sessions/internalDb/sessionLogs

Connection URL to the log database storage.

userLogRdbmsUser

sa

User connecting to the log database storage.

userLogRdbmsPassword

User password in clear text.

userLogRdbmsEncryptedPassword

User password, encrypted. Passwords are encrypted using the encrypt <password> command on the Runtime engine console.

userLogRdbmsModule

Module containing the libraries to communicate with the log database storage (typically a JDBC driver).

userLogRdbmsVarcharType

varchar

Type used when the data is a character string.

userLogRdbmsVarcharMaxSize

1000

Maximum length of the character strings with the type defined above.

userLogRdbmsNumericType

numeric

Type used when the data is a numeric.

userLogRdbmsClobType

clob

Type used when the data is textual (CLOB, unlimited text)

userLogRdbmsBlobType

blob

Type used when the data is binary (BLOB)

userLogRdbmsSchemaName

logs Database schema name.

userLogRdbmsUseSchemaNameForIndexCreation

true

Set to true to prefix index created with the log database schema name.

userLogRdbmsDeleteSyntaxe

Delete from

Syntax of the delete commands. The name of the table to delete is added after this string.

userLogRdbmsCompressedLevel

bestCompression

Type of compression used for the log database (if activated). Possible values: bestCompression, bestSpeed or default.

userLogRdbmsDeliveryFormat

compressed

Delivery storage format in the log database. Possible values are text, binary or compressed.

userLogRdbmsPropertyMaxVarcharSize

1000

Size above which character strings should be stored as CLOB.

userLogRdbmsPropertyMaxClobSize

10000

Size above which CLOBs should be stored as BLOB. The value –1 corresponds to an unlimited size.

userLogRdbmsPropertyBinaryFormat

compressed

Specifies the compression of the BLOB. Possible values are binary or compressed.

userLogRdbmsTimestampQuery

select now()

SQL query used to retrieve the current timestamp.

userLogRdbmsInactivityDetectionPeriod

90000

Inactivity detection period.

userLogRdbmsActivityRefreshInterval

60000

Inactivity refresh interval.

userLogRdbmsIndexCreationOption

Clause added after the SQL commands to creates indexes. Use this parameter to specify physical storage parameters such as tablespaces or underlying physical types.

userLogRdbmsTableCreationOption

Clause added after the SQL commands which creates tables. Use this parameter to specify physical storage parameters such as tablespaces or underlying physical types.

userLogRdbmsConnectionEnableRetry

true

Set to true for the runtime to attempt to reconnect to the log database if it becomes unavailable.

userLogRdbmsConnectionRetryNumber

20

Number of times the runtime attempts to reconnect to the log database if it becomes unavailable.

userLogRdbmsConnectionRetryDelay

1000

Delay between reconnection attempts.

Log Level

The session log level defines the level of information which is logged inside log database for each session executed by the Runtime.

The higher the value is the higher information are logged.
You can find below the different log level values and what level of details can be consulted, depending on the session status.

Log Level Running Sessions Successful Sessions Sessions with Errors

–1

Not logged

Not logged

Not logged

0

Full details

Not logged

Full details

100

Full details

Session Header and Statistics

Full details

200

Full details

Same as 100 + Process Information and Statistics

Full details

300

Full details

Same as 200 + Actions Information and Statistics

Full details

400

Full details

Full details

Full details

Log Level Inheritance

Child sessions started from a parent session without a specific log level may inherit their parent session’s log level, depending on the defaultChildSessionLogLevelInheritance runtime property value.

In addition, you can set the following values for a session’s log level to override the inheritance machnism:

  • -2 forces the session to use the runtime’s defaultSessionLogLevel, ignoring the defaultChildSessionLogLevelInheritance property.

  • -3 forces the session to inherit the parent session’s loglevel, ignoring the defaultChildSessionLogLevelInheritance property.

Misc Parameters

Parameter Default value Description

moduleRefreshMode

dynamic

Defines when Modules are loaded by the runtime:

  • onStartup: The modules are loaded at runtime startup. New or modified modules require a runtime restart to be taken into account.

  • dynamic: Modules are loaded dynamically. New or modified modules automatically reload without a runtime restart.