Child pages
  • Using Variables in Settings Files
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

The quickfix.SessionSettings class supports variable interpolation using a configured set of substitution values. By default, the substitution values are JVM system properties.

The variable syntax is "${variable}". For example, if system property "user.name" is "USER"...

FileStorePath=logs/${user.name}

becomes...

FileStorePath=logs/USER

Remember that system properties can be specified to the JVM using the -D argument on the command line. You can also use the method SessionSettings.setVariableValues() to configure your own set of substitution values.

Properties settingsVariableValues= new Properties();
settingsVariableValues.put("myvariable", "somevalue");
... other custom settings

settings.setVariableValues(settingsVariableValues);

The substitution values could be loaded from a property file.

Properties myCustomSettingsVariables = new Properties();
myCustomSettingsVariables.load(inputStream);
settings.setVariableValueS(myCustomSettingsVariables);

You can implement simple property inheritance by constructing a chain of java.util.Properties objects.

Properties settingsVariableValues= new Properties(System.getProperties());
settingsVariableValues.put("myvariable", "somevalue");
... other custom settings, possibly overriding the default system properties

These techniques give you a simple way to create templates of settings files that are customized based on run time values.

  • No labels