Live Datamart Client API Listener Configuration

Overview

This article provides a reference for writing a Live Datamart Client API Listener configuration file where the HOCON type is com.tibco.ep.ldm.configuration.ldmclientapilistener.

The Live Datamart client API listener configuration defines port numbers and secure communication indicators. It is separate from the base StreamBase engine configuration and can therefore be managed separately without having to recreate an application archive and redeploy the application whenever (for example) a port number changes.

Required Header Lines

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 = "my-ldm-api-settings"
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.ldmclientapilistener"

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 lines, enter the word configuration followed by an open brace. The configuration object is a sibling of the name, version, and type identifiers, 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 = {
...
...
}

HOCON Properties Explained

Below shows the configuration's HOCON properties, usage, and syntax example, where applicable.

ClientAPIListener

Root object for the Live Datamart Client API listener configuration settings.

associatedWithEngines

If you want to manually restrict this object to be associated with specific engines, do so here. Each entry can be a specific engine name or a regular expression that can apply to more than one engine. This array is optional and has no default value. If not present, the configuration uses a default engine association based on its location in a fragment or application archive, or in a node deploy configuration.

For example:

associatedWithEngines = [ "javaengine", "otherengine[0-9]" ]
portNumber

TCP port for the LiveView client API to listen on. This property is optional and its default value is 10080 or 10443 for a security-enabled LiveView server. Port range is 0 — 65535.

A zero value means that the LiveView server will find a random port to listen on.

If the port value (including, however unlikely, a random port) is taken, the engine will not start.

If you specify a port on the deploy command line (or in the Studio Run/Debug Configuration), you get it.

For example:

portNumber = 10080
authenticationRealmName

Authentication realm associated with this listener, indicating that user authentication is to be performed for requests handled by this listener. This realm name is specified in the com.tibco.ep.dtm.configuration.security file.

This optional property has no default value. When you provide one, LiveView server authentication is enabled for the realm.

For example:

authenticationRealmName = "my-realm"
secureCommunicationProfileName

Name of a secure communication server profile to use when configuring secure communication for a listener. The profile must be defined in the secureCommunicationProfileName property in a separate configuration file of type com.tibco.ep.dtm.configuration.security.

This property is optional and has no default value. If not present, the listener will not use secure connections with its clients.

For example:

secureCommunicationProfileName = "my-secure-communication-client-profile"

HOCON Configuration File Sample

The following shows an example of the com.tibco.ep.ldm.configuration.ldmclientapilistener type.

name = "clientApiListener"
version = "1.0.0"
type = "com.tibco.ep.ldm.configuration.ldmclientapilistener"
configuration = {
  ClientAPIListener = {
    portNumber = 10080    
    authenticationRealmName = "authRealm"
    secureCommunicationProfileName = "my-secure-communication-client-profile"    
  }
}