Sample YAML configuration file for the correlator
The following sample shows the format of a YAML configuration file for the correlator.
correlator:
javaApplicationSupport: false
randomSeed: number
initialization:
list: [ ... ]
persistence:
enabled: false
snapshotIntervalMillis: number
adjustSnapshot: true
storeLocation: path
storeName: string
clear: false
runtime: interpreted
runtimeCacheDir: path
licenseFile: path
jmsConfigDir: path
distMemStoreConfigDir: path
inputLogFile: path
externalClock: false
timerFrequency: 10
truncateLogFile: false
disableOptimizations: false
includeDatabaseInInputLog: true
statusLogIntervalSecs: 5.0
inputQueueSize: 20000
logFile: path
server:
pidFile: path
port: 15903
name: string
bindAddress: [...]
permittedRootURIs: [...]
allowClient: [...]
maxOutstandingSecs: 10.0
maxOutstandingKb: 10240
disconnectSlowConsumers: false
jvmOptions: [...]
eplLogging:
.root:
level: loglevel
file: path
string:
level: loglevel
file: path
correlatorLogging:
string:
level: loglevel
environment:
string: string
engineConnect:
- sourceHost: string
sourcePort: integer
channels:
- string
mode: string
disconnectIfSlow: boolean
Many of the above elements correspond to command line options of the
correlator tool and have the same syntax and options. See the descriptions of these command line options in
Starting the correlator for detailed information.
Note: If an element in a YAML configuration file is defined more than once, the first definition that is loaded by the correlator takes precedence over all definitions that are loaded later. An INFO message is then logged for all later definitions that are being ignored. Any corresponding options that are specified directly on the command line, however, take precedence over any other later definitions.
This element | corresponds to this command line option |
javaApplicationSupport | -j | --java |
randomSeed | -XsetRandomSeed |
enabled | -P |
snapshotIntervalMillis | -PsnapshotIntervalMillis |
adjustSnapshot | -PadjustSnapshot |
storeLocation | -PstoreLocation |
storeName | -PstoreName |
clear | -Pclear |
runtime | --runtime |
runtimeCacheDir | --runtime-cache |
licenseFile | -l | --license |
jmsConfigDir | --jmsConfig |
distMemStoreConfigDir | --distMemStoreConfig |
inputLogFile | --inputLog |
externalClock | -Xclock | --externalClock |
timerFrequency | --frequency |
truncateLogFile | -t | --truncate |
disableOptimizations | -g | --nooptimize |
includeDatabaseInInputLog | --noDatabaseInReplayLog |
statusLogIntervalSecs | --logQueueSizePeriod |
inputQueueSize | --inputQueueSize |
logFile | -f | --logfile |
pidFile | --pidfile |
port | -p | --port |
name | -N | --name |
maxOutstandingSecs | -m | --maxoutstandingack |
maxOutstandingKb | -M | --maxoutstandingkb |
disconnectSlowConsumers | -x | -- qdisconnect |
jvmOptions | -J | --javaopt |
eplLogging/.root/level | --applicationLogLevel |
eplLogging/.root/file | --applicationLogFile |
correlatorLogging/level | -v | --loglevel |
Other elements are described in topics under
Configuring the correlator, and this also includes additional information for some of the elements that correspond to the command line options. These are:
In the
correlator section:
In the
server section:
For paths, we recommend using replacements like
${PARENT_DIR} or
${APAMA_WORK} to make the configuration files portable. See also the list of predefined properties in
Using properties files.
[...] denotes that this can be a list.
You can use multi-line and single-line syntax for maps (for example, in the eplLogging case).
You can also use an
includes section to specify further YAML configuration files that are to be processed. See also
Including YAML configuration files inside another YAML configuration
file.