The configuration model is made of four top level sections, Active, Diffusion, Services and Truststore.
Indicates if the model is considered active. If the model is not active the client should close itself. It is intended to trigger an orderly shutdown of the client.
The Diffusion section describes the server to connect the client to.
It contains the host, port, secure, principal, password, connectionTimeout, reconnectionTimeout,
maximumMessageSize, inputBufferSize, outputBufferSize and recoveryBufferSize.
The host, port and secure may not be null, they identify the server to connect to.
The principal and password can be null, they identify the client to the server.
The connectionTimeout, reconnectionTimeout, maximumMessageSize, inputBufferSize, outputBufferSize and
recoveryBufferSize allow the Diffusion session to be tuned.
The Services section contains a list of services.
The Service describes a REST service to poll.
It contains the host, port, secure, pollPeriod, topicRoot, endpoints and security.
The host, port and secure indicate the location of the REST service.
The topicRoot is the part of the topic tree the service will be mapped to.
The security describes how to the HTTP client will authenticate with the service.
The endpoints are the endpoints to poll.
| Also see |
|---|
| Services |
The Endpoint describes an endpoint of a REST service to poll.
It contains the name, url and topic.
The url indicates the URL of the service to poll.
The topic indicates the topic that should be updated with the result of the poll, this topic is relative to the
topicRoot of the service.
| Also see |
|---|
| Endpoints |
The Security describes how to authenticate with the service.
Currently supported is basic which contains the principal and credential used to respond to a basic
authentication request.
Basic authentication will not be performed over an insecure connection.
The truststore is a string identifying the location of a keystore containing the trusted certificates of both the Diffusion server and any REST services. An SSLContext is constructed from this. The string will first be resolved against the classpath to try to load the keystore as a resource. If the keystore is not present as a resource it will try to load the keystore from the filesystem relative to the current working directory.
The configuration model consists of two files rest.json and rest.version.json.
The rest.version.json file contains a single number that describes the version of the model.
The rest.json file contains the configuration model serialised as JSON.
The files are parsed and generated by Jackson's JSON data binding features, all JSON processing is delegated to it.
The rest.version.json file is used to determine which version of the Model class the rest.json should be bound to.
Once the model has been loaded it is converted to the latest implementation of the model. Adding default values or inferring values from the previous model. The filesystem persistence will write back changes to the model after the conversion process.
| Also see |
|---|
| README |