Configure the Runtime


There are several ways to configure the Runtime:

Environment Variables

Startup Variables

The following optional environment variables may be defined to configure the Runtime startup.

Environment variable Description


Path of the Java Virtual Machine used by the Runtime. This variable is set to the default Java Virtual Machine installed, and may be changed to use a specific JVM version.


Path of directory containing the configuration file. Use this property to store the configuration separately from the Runtime installation. For example, /xdi-conf/properties/. By default, this directory is the properties sub-directory of the Runtime installation directory.


Space separated list of additional java arguments to use when running the Runtime runnable scripts.


Space separated list of additional java arguments to use when running the Runtime startcommand.bat or scripts. All other scripts are using the XDI_RUNTIME_OPTS variable.

With the default configuration, the Semarchy xDI Runtime memory is automatically managed by the JVM, which is recommanded and sufficient in most cases. If you want to force memory settings, use the XDI_RUNTIME_OPTS and XDI_COMMAND_OPTS variables to pass the corresponding Java settings, such as -Xmx, -Xms and -Xss.

Environment Variables in Configuration Files

You can also set parameters in the Runtime Configuration File from environment variables using the following syntax:

${environment.variable:<ENV_VARIABLE_NAME>:<default value>}

In this syntax:

  • <ENV_VARIABLE_NAME> is the environment variable name

  • <default value> is the fallback value to use if the environment variable is unset.

For example, with the following syntax the launchSchedulerEngine parameter will take the value of the XDI_DESIGNER_SCHEDULER_ENABLE environment variable, but fall back to a true value if that environment variable is unset.

You can find examples of configurations customized with environment variables in the properties/samples/enginesParameters directory.
Use this mechanism to configure the Runtime entirely from environment variables, for example to run it in Docker containers.

Java Management Extensions (JMX) Variable

The Java Management Extensions (JMX) is used to monitor Java applications. JMX allows following memory or class usage with external tools such as Visual VM (previously known as JVisualVM).

By default, the Semarchy xDI Runtime disables JMX, which avoids external tools to monitor its resources through this feature.

To enable it:

  1. Stop the Semarchy xDI Runtime

  2. Edit the initvariable.bat (Windows) or (Unix, macOS).

  3. Remove the variable -XX:+DisableAttachMechanism from the variable XDI_RUNTIME_VM_PROPERTIES.

  4. Start the Semarchy xDI Runtime.

Configuration Files

The runtime uses an engineParameters.xml file to store its configuration. This file is located in the properties sub-directory of the Runtime installation directory by default.

You can define the configuration file location for the runtime by setting an XDI_RUNTIME_PROPERTIES_LOCATION environment variable.

To make upgrades easier, it is recommended to copy the properties directory to a location outside the runtime installation directory, and set the XDI_RUNTIME_PROPERTIES_LOCATION to point to the new location. This way, overwriting the runtime folder during an upgrade will not lose any configuration information.

The runtime also supports a legacy configuration file named which holds a standalone scheduler configuration.

Runtime Configuration File

By default, the Runtime configuration file is located in the properties sub-directory of the Runtime installation directory, and is named engineParameters.xml.

You can use this file to configure:

Scheduler Configuration File

Previous versions of Runtime used an file to store scheduler configuration information. Runtime still supports this file for compatibility purposes.

Support for this file may be removed in future releases.