This article provides a reference for writing a Live Datamart Engine HOCON configuration file.
Each configuration file must contain the following header lines, typically found at the beginning of each file:
- name
-
Specifies an arbitrary, case-sensitive string to name this configuration, which must be unique among other files with the same type, if any. Configuration files can refer to each other by this name. Select a name that reminds you of this configuration's type and purpose. For example:
name = "myldmengine"
- version
-
Specifies an arbitrary version number that you can use to keep track of file versions for this configuration type in your development project. The maintenance of version numbers is under user control; StreamBase does not compare versions when loading configuration files during the fragment launch process. The version number is a string value, and can contain any combination of characters and numbers. For example:
version = "1.0.0"
- type
-
This essential setting specifies the unique HOCON configuration type described on this page.
type = "com.tibco.ep.ldm.configuration.ldmengine"
The three header lines taken together constitute a unique signature for each HOCON file in a project's configurations
folder. Each project's configurations
folder can contain only one file with the same signature.
The top-level configuration
object defines the configuration envelope the same way for all HOCON file types.
- configuration
-
On a line below the header element lines, enter the word
configuration
followed by an open brace. Theconfiguration
element is a sibling of thename
,version
, andtype
elements, and serves to define the configuration envelope around this type's objects as described on this page. The file must end with the matching close brace.configuration = { ... ... }
Below shows the configuration's HOCON elements, its name-values, usage, and syntax example, where applicable.
- LDMEngine
-
The Live Datamart engine configuration inherits from the EventFlow engine configuration, which in turn inherits from the base Java engine. See Runtime JavaEngine Configuration for a list of available Java engine options.
- streamBase
-
This name-value pair controls the behavior of the EventFlow engine that is running this LiveView fragment. Some sample EventFlow engine settings are below, to demonstrate inheritance. See StreamBase Engine Configuration for more information about the
streamBase
name-value pair.- operatorStateChangeTimeoutMilliseconds
-
Int. Each Java Operator changes state along with the engine process as a whole. The engine waits for each Operator to change state before it completes its state change. The value of this name-value pair is the amount of time the engine will wait before timing out the Operator. If an Operator is timed out on a state change, the engine shuts the Operator down and proceeds with the state change. This name-value pair is optional and its default value is 10000.
For example:
operatorStateChangeTimeoutMilliseconds = 10002
- engineMonitor
-
Configures the engine's monitoring subsystem. This name-value pair is optional.
For example:
enabled = false
- statsFrequencyMilliseconds
-
Int. Configures how frequently monitoring stats are produced. This name-value pair is optional and its default value is 1000.
For example:
statsFrequencyMilliseconds = 2000
- ldm
-
Live Datamart-specific part of the configuration.
- alert
-
Alert service configuration. This section is optional and has default values as specified below.
- enabled
-
Bool. If false, prevent the alert service from starting. If true, the alert service starts. This name-value pair is optional and its default value is true.
For example:
enabled = false
- disableChanges
-
Bool. If true, prevent non-local LiveView clients from changing alert rules. If false, any client can change alert rules. This name-value pair is optional and its default value is false.
For example:
disableChanges = true
- registerStartup
-
Bool. If false, prevents configured alerts from being registered at startup. If true, alerts are registered. This name-value pair is optional and its default value is true.
For example:
registerStartup = false
The following shows an example of the com.tibco.ep.ldm.configuration.ldmengine type, to illustrate how you can configure the Java and EventFlow parts of the LiveView engine.
name = "myldmengine" version = "1.0.0" type = "com.tibco.ep.ldm.configuration.ldmengine" configuration = { LDMEngine = { associatedWithEngines = [ "javaengine", "otherengine[0-9]" ] externalClassPath = [ "/absolute/path/d.jar" "/absolute/path/g.jar" "/absolute/path/root" ] jvm = { minimumDispatchThreads = 10 } systemProperties = { "liveview.web.pstore.type" = "h2" "liveview.ssl.hostname" = "localhost" "liveview.security.auth.X509.internal.principal"="localhost" "liveview.security.auth.X509.internal.user"="lvintern" } jvmArgs = [ "-Xmx1024m" "-Xms512m" "-XX:MaxPermSize=768m" "-Xdebug" "-Xnoagent" "-Djava.compiler=NONE" ] streamBase = { operatorStateChangeTimeoutMilliseconds = 10002 engineMonitor = { enabled = false statsFrequencyMilliseconds = 2000 } } ldm = { alert = { enabled = false disableChanges = true registerStartup = false } } } }