Chapter 6. Config Sources and Their Priorities

There are several sources of configuration properties. If property isn't set, application default is used.

Configuration properties can be encrypted (see details in Chapter 9, Secure configuration properties).

Warning: Do not combine sources specified below. Configuration becomes confusing and maintenance will be much more difficult.

Context Parameters (Available on Apache Tomcat)

Some application servers allow to set context parameters without modification of WAR file. This way of configuration is possible and recommended for Tomcat.

Apache Tomcat may ignore some of context parameters in some environments, so this way isn't recommended, use of properties file is almost as convenient and muchg more reliable way.

Example for Apache Tomcat

On Tomcat it is possible to specify context parameters in context configuration file. [tomcat_home]/conf/Catalina/localhost/clover.xml which is created automatically just after deployment of CloverETL Server web application.

You can specify property by adding this element:

<Parameter name="[propertyName]" value="[propertyValue]" override="false" />

Environment Variables

Set environment variable with prefix clover. , i.e. (clover.config.file)

Some operating systems may not use dot character, so also underlines (_) may be used instead of dots (.). So the clover_config_file works as well.

System Properties

Set system property with prefix clover. , i.e. (clover.config.file)

Also underlines (_) may be used instead of dots (.) so the clover_config_file works as well.

Properties File on default Location

Source is common properties file (text file with key-value pairs):

[property-key]=[property-value]

By default CloverETL tries to find config file [workingDir]/cloverServer.properties.

Properties File on specified Location

The same as above, but properties file is not loaded from default location, because its location is specified by environment variable or system property clover_config_file or clover.config.file. This is recommended way of configuration if context parameters cannot be set in application server.

Modification of Context Parameters in web.xml

Unzip clover.war and modify file WEB-INF/web.xml, add this code:

<context-param>
  <param-name>[property-name]</param-name>
  <param-value>[property-value]</param-value>
</context-param>

This way isn't recommended, but it may be useful when none of above ways is possible.

Priorities of config Sources

Configuration sources have these priorities:

  1. context parameters (specified in application server or directly in web.xml)

  2. external config file CS tries to find it in this order (only one of them is loaded):

    • path specified by context parameter config.file

    • path specified by system property clover_config_file or clover.config.file

    • path specified by environment variable clover_config_file or clover.config.file

    • default location ([workingDir]/cloverServer.properties)

  3. system properties

  4. environment variables

  5. default values