Invocation Variables

While you can implement a Service that is independent of DataSynapse libraries, on certain occasions you might need to refer to properties within the environment of the Engine. This can be accomplished without using additional code with variables that are retrieved in various ways depending on the type of Service:

Java  System properties
DynamicLibrary  Environment variables, with the same name as Java variables, except with dots replaced with underscores. You can also use symbolic constants provided by DynamicLibraryFunctions.h.
.NET  System.AppDomain.CurrentDomain data values; for example: System.AppDomain.CurrentDomain.GetData("ds.ServiceSessionID")
Command  Environment variables, with the same name as Java variables, except with the dots replaced with underscores.

The Engine provides the following variables:

Engine Variables

Variable

Description

ds.ServiceSessionID

The unique identifier for the Service Session being invoked.

ds.ServiceInvocationID

A number uniquely identifying the invocation (task) of the Service instance.

ds.ServiceCheckpointDir

The absolute path to the directory that the Service uses for reading and writing of checkpoint data, if checkpointing is enabled for the Service.

ds.ServiceInfo

If this variable is set in an invocation, the value is displayed in the Administration Tool on completion of the invocation.

ds.WorkDir

The work directory for the Engine. This variable is set to the directory from which the Service is executed. By default, it is the absolute path to the Engine installation directory, where machinename is the name of the machine running the Engine, and instance is the number of the Engine instance. For example, a single Engine machine has a machinename-0 directory; one with two Engine instances also has a machinename-1 directory. Each Engine instance directory has a log directory containing Engine logs and a tmp directory.

Note that the tmp directory is periodically deleted by the Engine. The Temp File Time-to-Live (hours) setting in each Engine Configuration controls the frequency with which the Engine cleans this directory.

ds.DataDir

The data directory for the Engine, which is the absolute path directory in which DDT (Direct Data Transfer) data is stored. The cleanup frequency is also controlled by the Engine Configuration.

ds.GridLibraryPath

A list of paths, the contents of which are absolute paths to the root directories of all the expanded and loaded Grid Libraries.

In addition, any environment variables available on the Engine are also available in the Engine Service Instance. Note that any environment variables use absolute paths.