Discovery configuration

This page describes configuration options for Discovery clients: Liberator, Transformer, and integration adapters.

discovery-addr

Specifies the network location of a Discovery server.

The DataSource applications Liberator, Transformer, and TREP Adapter include configuration blades that you can use to enable a connection to a Discovery server when the DataSource is deployed to a Deployment Framework. The blades reference the configuration variable DISCOVERY_ADDR, which you can override in global_config/environment.conf.

When discovery-addr is specified, the DataSource operates in 'Discovery mode' and the following changes in behaviour apply:

  • If the DataSource requires a licence and has been provided with an expired licence file, then the DataSource does not attempt to connect to Discovery and exits immediately.

  • The DataSource attempts to connect to Discovery at the given address and optional port.

  • If the Discovery server is offline, the DataSource polls the Discovery server until it becomes available.

  • If the DataSource requires a licence and has not been provided with a licence file, the DataSource does not accept network connections until it has successfully connected with Discovery. Examples of DataSources that require a licence are Liberator, Transformer, and the TREP Adapter.

  • If the Discovery server rejects the DataSource’s connection, the DataSource shuts down. The Discovery server may reject the DataSource’s connection for any of the reasons below:

    • The Discovery server’s cluster name does not match the DataSource’s configured Discovery cluster name (discovery-cluster-name). The default cluster name is caplin-platform.

    • The Discovery server’s licence has expired.

    • The DataSource is subject to an instance quota in the Discovery licence, and to accept the DataSource’s connection would exceed the quota.

  • If the DataSource’s configuration includes a data service that uses remote-label to specify the labels of providing peers, then the DataSource logs an error and shuts down. In Discovery deployments, use remote-label-regex to specify the labels of a data service’s providing peers.

Since

DataSource for Java 7.1.15, DataSource for C (DSDK) 7.1.21, Liberator 7.1.21, Transformer 7.1.13

Syntax
discovery-addr addr [port …​]
Parameters
Parameter Description Type Example

addr

IP address or hostname

String

192.168.1.150

port

TCP/IP port number, 1–65535

Integer

5701

Default setting

None

Example
discovery-addr 192.168.1.150

discovery-cluster-name

The name of the Discovery cluster to connect to at discovery-addr. Defaults to caplin-platform.

If Discovery server at discovery-addr has a different cluster name to discovery-cluster-name, then the DataSource logs an error and shuts down.

For information on how to set the name of a Discovery cluster, see hazelcast.cluster-name in the Discovery documentation.

Since

DataSource for Java 7.1.15, DataSource for C (DSDK) 7.1.21, Liberator 7.1.21, Transformer 7.1.13

Syntax
discovery-cluster-name name
Parameter Description Type Example

name

The name of the Discovery cluster

String

caplin-platform-test

Default setting
discovery-cluster-name "caplin-platform"
Example
discovery-cluster-name "caplin-platform-test"

discovery-provide-service

Specifies one or more names of data services that this DataSource provides. It is the complement of the data service service-name option, which identifies a data service that this DataSource consumes.

When a DataSource connects to a Discovery server, the DataSource submits a list of the data services it consumes and a list of the data services it provides. Discovery broadcasts this information to all clients as part of a global list of consumers and providers.

Discovery-enabled DataSources manage peer configuration automatically and dynamically, based on the information broadcast by Discovery:

  • A DataSource automatically connects to consumers of the data services it provides

  • A DataSource automatically permits incoming connections from providers of the data services it consumes.

Since

DataSource for Java 7.1.15, DataSource for C (DSDK) 7.1.21, Liberator 7.1.21, Transformer 7.1.13

Syntax
discovery-provide-service service_name …​
Parameters
Parameter Description Type Example

service_name

The name of a service provided by this DataSource

String

pricing

Default setting

None

Example
discovery-provide-service pricing trading

discovery-require-service

The complement of discovery-provide-service for Java DataSources, which, unlike C DataSources, do not support data service routing (add-data-service). Allows providers of services to find and connect to this Java DataSource via Discovery’s peer discovery.

Since

DataSource for Java 8.0.0

Syntax
discovery-require-service service_name …​
Parameters
Parameter Description Type Example

service_name

The name of a service required by this DataSource

String

pricing

Example
discovery-require-service pricing trading

See also: