NY_ConfigurationProviderPlugIn

The PlugIn NY_ConfigurationProvider runs a TCP server, with the help of which configuration files are offered in XML format. Nodes can request these files by a configuration name, receive the file, and import the file's data directly into their Java Preferences.

In order for a node to use this service, it must know on which host the service is offered. For this purpose there is a key preference.tcp, which is to be given to the starting node as a property. The value of the key is an IP address with a port specification. The value can also be passed as an environment variable. The key is then called EConfigProperties.NY_PREFERENCE_TCP.

Since the file is requested over the network before the node network is actually started, it cannot be transported over the channels between the nodes. Therefore, untypically, a TCP connection is opened to the service for this purpose only.

The service searches for an XML file in the ConfigurationProvider directory below the storage directory. The file is named after the configuration name, with .XML extension.

Hint

The kernel prints the current configuration of a node in the storage directory in XML-Java preference format at startup. This file can be easily adapted and used for new nodes.

Client Configuration (node requesting a configuration)

Type Description Switch Value Example
Either commandline... SERVER:PORT to connect preference.tcp 127.0.0.1:18000 -Dpreference.tcp=127.0.0.1:18000
... or environment variable SERVER:PORT to connect NY_PREFERENCE_TCP 127.0.0.1:18000 NY_PREFERENCE_TCP=127.0.0.1:18000

Server configuration (NY_ConfigurationProvider plugin)

Type Description Switch Value Example
Either via commandline... Storage directory storage.dir /home/michael/some/dir -Dstorage.dir=/home/michael/some/dir
... or via environment variable Storage directory NY_STORAGE_DIR /home/michael/some/dir NY_STORAGE_DIR=/home/michael/some/dir
Commandline Port for the TCP server, default=28346 network/configuration.provider/server.port 18000 -Dserver.port=18000
Commandline Input buffer size, default=2100 network/configuration.provider/connection.input.buffer.size 2100 -Dserver.port=18000

Notice

Do not forget: The XML files should be placed in the %storage%/ConfigurationProvider directory.

nyssr.net - Innovative Distributed System