...
OdysseusNet allows the configuration of each OdysseusNode using a separate XML-based configuration file. This file is located in the ODYSSEUS_HOME folder and is called odysseusNet.conf
. With the activation of OdysseusNet, the contents of the file are read once (if the file did not exist, it will be created with default values). Further changes to the file during execution are not applied (Odysseus has to be started again, then). The configuration of OdysseusNet is based on key-value-pairs,whereas each key has to be unique. Developers can add/reuse own configuration keys (and values) described in Configuration for developers.
The following text is an example of such a OdysseusNet configuration file:
Excerpt |
---|
Code Block |
---|
| <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>OdysseusNet Property File edit only if you know what you are doing</comment>
<entry key="net.networkoperatorgenerator">websocket</entry>
<entry key="net.node.default.username">System</entry>
<entry key="net.nodemanager.storetype">filestore</entry>
<entry key="net.nodemanager.filename">C:/Users/Marco/odysseus/store/nodes.store</entry>
<entry key="net.node.communicator">rest</entry>
<entry key="net.querydistribute.maxport">20000</entry>
<entry key="net.remoteUpdate">false</entry>
<entry key="net.discoverer.name" | >BroadcastOdysseusNodeDiscoverer<>BroadcastOdysseusNodeDiscoverer,IPListOdysseusNodeDiscoverer</entry>
<entry key="net.source.lifetime">3600000</entry>
<entry key="net.querydistribute.minport">10000</entry>
<entry key="net.node.preserveid">false</entry>
<entry key="net. | data.lifetime">3600000</entry>
<entry key="net.>false<>true</entry>
<entry key="net.querydistribute.randomport">false</entry>
<entry key="net.dd.local">true</entry>
<entry key="net.node.group">OdysseusGroup</entry>
<entry key="net.querydistribute.partition">querycloud</entry>
<entry key="net.querydistribute.allocation">querycount</entry>
<entry key="net.node.name">OdysseusNode_1554</entry>
<entry key="net.discoverer.interval">5000</entry>
<entry key="net.dd.checkinterval">30000</entry>
<entry key="net.logging.receive">false</entry>
<entry key="net.connect.selector.name">GroupSelectorComponent</entry>
</properties>
|
|
Each entry represents one key-value pair. By default, the following configuration settings are supported:
Key | Default value | Description | See |
---|
net.node.name | OdysseusNode | Human-readable non-unique name of the OdysseusNode. If value is OdysseusNode , a randomly generated 4-digit number is added to the name (e.g., OdysseusNode_1234 ). | OdysseusNet |
net.node.group | OdysseusGroup | Name of the group the node is participating in. The node connects only to other nodes with the same NodeGroup. Groups are only considered when net.connect.selector.name = GroupSelectorComponent | OdysseusNet |
net.node.preserveid | false | If true, the generated nodeID is saved and restored after each start of OdysseusNet. |
|
net.autostart |
| false | If true, OdysseusNet is actived immediately when Odysseus starts. | OdysseusNet |
net.remoteUpdate |
| | false | If true, the node allows update/restart/reinstall-signals from remote nodes to be processed (do not set to true if using OdysseusStudio!). This setting is useful e.g., for RaspberryPi and remote updates. | Update/Restart/Reinstall |
| | false | If true, the node receives and prints log messages from remote nodes. | Logging |
|
net.querydistribute.minport |
| |
net.querydistribute.maxport |
| |
net.querydistribute.randomport |
| |
net.querydistribute.partition |
| |
net.querydistribute.allocation |
| | 5000 | Time interval in milliseconds in which the node discoverer checks for new OdysseusNodes in the network. | Discovery of OdysseusNodes |
| net.data.lifetime | | |
| | | | | 30000 | Time interval in milliseconds in which the node checks for invalid distributed data (e.g., exceeded lifetimes). | Distribution of (static) data |
|
net.connect.selector.name |
| If OdysseusNet reads a configuration setting and the value is somewhat invalid, it uses the default value.