Job Config Properties

Each graph or Jobflow may have a set of configuration properties, which are applied during the execution. Properties are editable in the web GUI section Sandboxes. Select the job file and go to the Config properties tab.

The same configuration properties are editable even for each sandbox. Values specified for a sandbox are applied for each job in the sandbox, but with a lower priority than configuration properties specified for the job.

If neither the sandbox nor the job have configuration properties specified, defaults from main Server configuration are applied. Global configuration properties related to Job configuration properties have the executor. prefix. For example, the server property executor.classpath is default for the Job configuration property classpath. (See Part III, “Configuration” for details)

In addition, it is possible to specify additional job parameters, which can be used as placeholders in job XML. Please keep in mind, that these placeholders are resolved during loading and parsing of the XML file, thus such a job cannot be pooled.

If you use a relative path, the path is relative to ${SANDBOX_ROOT}.

In a path definition, you can use system properties - e.g. ${java.io.tmpdir} - and some of server configuration properties: ${sandboxes.home}, ${sandboxes.home.partitioned} and ${sandboxes.home.local}.

Table 22.4. Job config parameters

Property nameDefault valueDescription
classloader_caching false CloverDX creates new classloaders when necessary to load a class in runtime. For example, a Reformat component with a Java transformation has to create a new classloader to load the class. It is worth noting that classloaders for JDBC drivers are not re-created. Classloader cache is used to avoid PermGen out of memory errors (some JDBC drivers automatically register themself to DriverManager, which can cause the classloader cannot be released by garbage collector). This behavior can be inconvenient for example if you want to share POJO between components. For example, a Reformat component creates an object (from a jar file on runtime classpath) and stores it into a dictionary. Another Reformat component recover the object from the dictionary and attempts to cast the object to the expected class. ClassCastException is thrown due different classloaders used in the Reformat components. Using this flag you can force CloverServer to re-use classloader when possible.
classpath  List of paths or jar files which contain external classes used in the job file (transformations, generators, JMS processors). All specified resources will be added to the runtime classpath of the transformation job. All CloverDX Engine libraries and libraries on application-server's classpath are automatically on the classpath. Separator is specified by the Engine property DEFAULT_PATH_SEPARATOR_REGEX. The directory path must always end with a slash character "/", otherwise ClassLoader doesn't recognize it is a directory. Server always automatically adds trans subdirectory of job's sandbox, so it doesn't have to be added explicitly.
compile_classpath  List of paths or jar files which contain external classes used in the job file (transformations, generators, JMS processors) and related libraries for their compilation. Please note, that libraries on application-server's classpath are not included automatically. Separator is specified by the Engine property DEFAULT_PATH_SEPARATOR_REGEX. The directory path must always end with a slash character "/", otherwise ClassLoader doesn't recognize it is a directory. Server always automatically adds a SANDBOX_ROOT/trans/ directory and all JARs in the SANDBOX_ROOT/lib/ directory, so they don't have to be added explicitly.
debug_mode false

If true, edges with debug enabled will store data into files in a debug directory.

Without explicit setting, running of a graph from Designer with server integration would set the debug_mode to true. On the other hand, running of a graph from the server console sets the debug_mode to false.

delete_obsolete_temp_files false

If true, the system will remove temporary files produced during previous finished runs of the respective job.

This property is useful together with enabled debug mode ensuring that obsolete debug files from previous runs of a job are removed from temp space. This property is set to true by default when executing job using Designer-Server integration.

enqueue_executions false Boolean value. If true, executions above max_running_concurrently are enqueued, if false, executions above max_running_concurrently fail.
jobflow_token_tracking true If false, token tracking in jobflow executions will be disabled.
locale DEFAULT_LOCALE engine property Can be used to override the DEFAULT_LOCALE engine property.
log_levelINFO Log4j log level for this graph executions. (ALL | TRACE | DEBUG | INFO | WARN | ERROR | FATAL). For lower levels (ALL, TRACE or DEBUG), root logger level must be set to lower level, as well. Root logger log level is INFO by default, thus a transformation run log does not contain more detail messages then INFO event if the job configuration parameter log_level is set properly. For details about log4j configuration, see Chapter 17, Logging.
max_graph_instance_age 0 A time interval in milliseconds which specifies how long may a transformation instance last in server's cache. 0 means that the transformation is initialized and released for each execution. The transformation cannot be stored in the pool and reused in some cases (a transformation uses placeholders using dynamically specified parameters)
max_running_concurrently unlimited The maximum number of concurrently running instances of this transformation. In cluster environment, the limit is per node.
password  This property is deprecated. Password for decoding of encoded DB connection passwords.
skip_check_config default value is taken from engine property Specifies whether check config must be performed before a transformation execution.
time_zoneDEFAULT_TIME_ZONE engine property Can be used to override the DEFAULT_TIME_ZONE engine property.
tracking_interval 2000 Interval in milliseconds for sampling nodes status in a running transformation.
use_jmxtrueIf true, job executor registers jmx mBean of a running transformation.
use_local_context_url false If true, the context URL of a running job will be a local file: URL. Otherwise, a sandbox: URL will be used.
verbose_mode true If true, more descriptive logs of job runs are generated.
worker_execution true Set to false to enforce execution in Server Core. Can be set per file or per sandbox.

Job config properties

Figure 22.4. Job config properties