Chapter 9. List of Properties

Table 9.1. General configuration

keydescriptiondefault
config.filelocation of a CloverETL Server configuration file[working_dir]/ cloverServer.properties
license.filelocation of a CloverETL Server licence file (license.dat) 
engine.config.filelocation of a CloverETL engine configuration properties fileproperties file packed with CloverETL
sandboxes.home

This property is primarily intended to be used as a placeholder in the sandbox root path specification. So the sandbox path is specified with the placeholder and it's resolved to the real path just before it's used. The sandbox path may still be specified as an absolute path, but placeholder has some significant advantages:

* sandbox definition may be exported/imported to another environment with a different directory structure

* user creating sandboxes doesn't have to care about physical location on the filesystem

* each node in cluster environment may have a different "sandboxes.home" value, so the directory structure doesn't have to be identical

The default value uses content of a "user.data.home" configuration property, which points to the home directory of the user which runs the JVM process. Directory depends on the OS. On Unix-like systems it's typically /home/[username]

${user.data.home}/CloverETL/sandboxes
private.propertiesList of server properties which are used only by the CloverETL Server code. So these properties are not accessible outside of the ServerFacade. By default, there are all properties which may contain password in the list, so their values are not visible for web GUI users. The values are replaced by a single star "*". Changes in this list may cause unexpected behavior of some server API.jdbc.password, executor.password, security.ldap.password, clover.smtp.password
engine.plugins.additional.srcThis property may contain an absolute path to some "source" of additional CloverETL engine plugins. These plugins are not a substitute for plugins packed in WAR. "Source" may be a directory or a zip file. Both, a directory and a zip, must contain a subdirectory for each plugin. Changes in the directory or the ZIP file apply only when the server is restarted. For details see Chapter 27, Extensibility - CloverETL Engine Plugins. empty
datasource.typeSet this explicitly to JNDI if you need CloverETL Server to connect to a DB using JNDI datasource. In such case, "datasource.jndiName" and "jdbc.dialect" parameters must be set properly. Possible values: JNDI | JDBCJDBC
datasource.jndiNameJNDI location of a DB DataSource. It is applied only if "datasource.type" is set to "JNDI". java:comp/env/jdbc/clover_server
jdbc.driverClassNameclass name for jdbc driver name 
jdbc.urljdbc url used by CloverETL Server to store data 
jdbc.usernamejdbc database user name 
jdbc.passwordjdbc database user name 
jdbc.dialecthibernate dialect to use in ORM 
quartz.driverDelegateClassSQL dialect for quartz. Value is automatically derived from "jdbc.dialect" property value. 
sandboxes.access.check.boundaries.enabled

true | false If it is set to false, then the path relative to a sandbox root may point out of the sandbox. No file/folder outside of the sandbox is accessible by the relative path otherwise.

true
security.session.validitySession validity in milliseconds. When the request of logged-in user/client is detected, validity is automatically prolonged.14400000
security.session.exchange.limitInterval for exchange of invalid tokens in milliseconds.360000
security.default_domainDomain in which all new users are included. Stored in user's record in the database. Shouldn't be changed unless the "clover" must be white-labelled.clover
security.basic_authentication.features_list

List of features which are accessible using HTTP and which should be protected by Basic HTTP Authentication. The list has form of semi-colon separated items; Each feature is specified by its servlet path.

/request_processor;/simpleHttpApi;/launch;/launchIt;/downloadStorage;/downloadFile;/uploadSandboxFile;/downloadLog;/webdav
security.basic_authentication.realm

Realm string for HTTP Basic Authentication.

CloverETL Server
security.digest_authentication.features_list

List of features which are accessible using HTTP and which should be protected by HTTP Digest Authentication. The list has form of semi-colon separated items. Each feature is specified by its servlet path.

Please keep in mind that HTTP Digest Authentication is feature added to the version 3.1. If you upgraded your older CloverETL Server distribution, users created before the upgrade cannot use the HTTP Digest Authentication until they reset their passwords. So when they reset their passwords (or the admin does it for them), they can use Digest Authentication as well as new users.

 
security.digest_authentication.storeA1.enabled Switch whether the A1 Digest for HTTP Digest Authentication should be generated and stored or not. Since there is no CloverETL Server API using the HTTP Digest Authentication by default, it's recommended to keep it disabled. This option is not automatically enabled when any feature is specified in the security.digest_authentication.features_list property.false
security.digest_authentication.realm Realm string for HTTP Digest Authentication. If it is changed, all users have to reset their passwords, otherwise they won't be able to access the server features protected by HTTP digest Authentication.CloverETL Server
security.digest_authentication. nonce_validityInterval of validity for HTTP Digest Authentication specified in seconds. When the interval passes, server requires new authentication from the client. Most of the HTTP clients do it automatically.300
clover.event. fileCheckMinIntervalInterval of the timer, running file event listener checks (in milliseconds). See File Event Listeners (remote and local) for details.1000
clover.smtp.transport.protocolSMTP server protocol. Possible values are "smtp" or "smtps".smtp
clover.smtp.hostSMTP server hostname or IP address 
clover.smtp.portSMTP server port 
clover.smtp.authenticationtrue/false If it is false, username and password are ignored. 
clover.smtp.usernameSMTP server username 
clover.smtp.passwordSMTP server password 
clover.smtp.additional.*Properties with a "clover.smtp.additional." prefix are automatically added (without the prefix) to the Properties instance passed to the Mailer. May be useful for some protocol specific parameters. The prefix is removed. 
logging.project_nameUsed in log messages where it is necessary to name the product name.CloverETL
logging.default_subdirName of a default subdirectory for all server logs; it is relative to the path specified by system property "java.io.tmpdir". Don't specify as an absolute path, use properties which are intended for absolute path.cloverlogs
logging.logger.server_audit.enabled Enables logging of operations called on ServerFacade and JDBC proxy interfaces. The name of the output file is "server-audit.log". It is stored in the same directory as other CloverETL Server log files by default. The default logging level is DEBUG so it logs all operations which may process any change.false
launch.log.dirLocation, where server should store launch requests logs. See Launch Services for details.${java.io.tmpdir}/[logging. default_subdir]/launch where ${java.io.tmpdir} is system property
graph.logs_pathLocation, where server should store Graph run logs. See Chapter 11, Logging for details. ${java.io.tmpdir}/[logging. default_subdir]/graph where ${java.io.tmpdir} is system property
logging.appender.jobs.pattern_layoutPattern of the jobs' log messages%d %-5p %-3X{runId} [%t] %m%n
logging.appender.jobs.encodingEncoding of the jobs' log filesUTF-8
temp.default_subdirName of a default subdirectory for server tmp files; it is relative to the path specified by system property "java.io.tmpdir".clovertmp
graph.pass_event_params _to_graph_in_old_styleSince 3.0. It is a switch for backwards compatibility of passing parameters to the graph executed by a graph event. In versions prior to 3.0, all params are passed to executed graph. Since 3.0, just specified parameters are passed. Please see Start a Graph for details. false
threadManager.pool.corePoolSize

Number of threads which are always active (running or idling). Related to a thread pool for processing server events.

4
threadManager.pool.queueCapacity

Max size of the queue (FIFO) which contains tasks waiting for an available thread. Related to a thread pool for processing server events. For queueCapacity=0, there are no waiting tasks, each task is immediately executed in an available thread or in a new thread.

0
threadManager.pool.maxPoolSize

Max number of active threads. If no thread from a core pool is available, the pool creates new threads up to "maxPoolSize" threads. If there are more concurrent tasks then maxPoolSize, thread manager refuses to execute it.

8192
threadManager.pool.allowCoreThreadTimeOut

Switch for idling threads timeout. If true, the "corePoolSize" is ignored so all idling threads may be time-outed

false
threadManager.pool.keepAliveSeconds

timeout for idling threads in seconds

20
task.archivator.batch_sizeMax number of records deleted in one batch. It is used for deleting of archived run records.50
launch.http_header_prefixPrefix of HTTP headers added by launch services to the HTTP response.X-cloveretl
task.archivator. archive_file_prefixPrefix of archive files created by the archivator.cloverArchive_
license.context_namesA comma-separated list of web-app contexts which may contain license. Each of them has to start with a slash! Works only on Apache Tomcat./clover-license,/clover_license
properties_resolver.resolve_server_props.server_props_list_additional A list of properties from a subset of properties, which values are resolved. The properties' values may use system properties or environment variables as placeholders. The values are resolved during the server startup. If the system property is changed later, the resolved CloverETL Server property value doesn't change. Users may use this property, if some property they need to resolve is missing in the property: properties_resolver.resolve_server_props.server_props_list_default. If the property to resolve is already specified by the property properties_resolver.resolve_server_props.server_props_list_default, don't add it to this property.  
properties_resolver.resolve_server_props.server_props_list_default A list of properties from a subset of properties, which values are resolved. The properties' values may use system properties or environment variables as placeholders. Values are resolved during the server startup. If the system property is changed later, the resolved CloverETL Server property value doesn't change. Users are discouraged from modification of the property, unless it's necessary. Instead, users may add more properties by modifying property: properties_resolver.resolve_server_props.server_props_list_additional sandboxes.home, sandboxes.home.local, sandboxes.home.partitioned, cluster.jgroups.bind_address, cluster.jgroups.start_port, cluster.jgroups.external_address, cluster.jgroups.external_port, cluster.jgroups.tcpping.initial_hosts, cluster.group.name, cluster.http.url
properties_resolver.placeholders.server_props_list_default A list of properties from a subset of properties, that may be used as placeholders and shall be resolved if used in paths. The properties can be used if you define a path to the root of a sandbox, or to locations of local or partitioned sandboxes, or path to a script, or path in archiver job. Users are strongly discouraged from modification of the property. The property name changed since CloverETL 4.2, however the obsolete name is also still accepted to maintain backwards compatibility. sandboxes.home, sandboxes.home.local, sandboxes.home.partitioned, user.data.home
webDav.method.propfind.maxDepth

Maximum depth for webDAV method PROPFIND. When the depth is not specified, the default is supposed to be infinite (according to the rfc2518), however it's necessary to set some limit, otherwise the webDav client might overload the server filesystem.

Also if the depth value specified by webDAV client in the request is higher than the pre-configured max depth, only the pre-configured maximum is used.

40
jvm.implementation.check.enabledDisplays warnings when unsupported Java implementation is used.true

Table 9.2. Defaults for job execution configuration - see Job Config Properties for details

keydescriptiondefault
executor.tracking_interval An interval in milliseconds for scanning of a current status of a running graph. The shorter interval, the bigger log file. 2000
executor.log_levelLog level of graph runs. TRACE | DEBUG | INFO | WARN | ERRORINFO
executor.max_job_tree_depth Defines maximal depth of the job execution tree, e.g. for recursive job it defines the maximal level of recursion (counting from root job). 32
executor.max_running_concurrentlyAmount of graph instances which may exist (or run) concurrently. 0 means no limits0
executor.max_graph_instance_age

Interval in milliseconds. Specifies how long can a graph instance be idling before it is released from memory. 0 means no limits.

This property has been renamed since 2.8. Original name was executor.maxGraphInstanceAge

0
executor.classpathClasspath for transformation/processor classes used in the graph. Directory [Sandbox_root]/trans/ does not have to be listed here, since it is automatically added to a graph run classpath. 
executor.skip_check_configDisables check of graph configuration. Increases performance of a graph execution; however, it may be useful during graph development.true
executor.passwordThis property is deprecated. The password for decoding encoded DB connection passwords. 
executor.verbose_modeIf true, more descriptive logs of graph runs are generated.true
executor.use_jmxIf true, the graph executor registers jmx mBean of the running graph.true
executor.debug_modeIf true, edges with enabled debug store data into files in debug directory. false

See Chapter 29, Clustering Features for more properties.