<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Configuration on sillysky.net</title>
    <link>https://sillysky.net/docs/nyssr/configuration/</link>
    <description>Recent content in Configuration on sillysky.net</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Wed, 15 Oct 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://sillysky.net/docs/nyssr/configuration/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Configuration files</title>
      <link>https://sillysky.net/docs/nyssr/configuration/configuration-files/</link>
      <pubDate>Wed, 15 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://sillysky.net/docs/nyssr/configuration/configuration-files/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://sillysky.net/images/LigneClaire/doc/ConfigurationFiles.webp&#34; alt=&#34;Configuration&#xA;Files&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;If you want to create a new node, there is no configuration in the Java&#xA;Preferences yet. You have the possibility to give a new configuration to the&#xA;node, in the form of simple property files.&lt;/p&gt;&#xA;&lt;p&gt;Since the configuration in Java Preferences is organized hierarchically, we&#xA;can create a configuration file for each Preferences node. To which preference&#xA;node the key-value pairs belong is written in the header of the configuration&#xA;file.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Configuration Nodes and Keys</title>
      <link>https://sillysky.net/docs/nyssr/configuration/configuration-nodes-and-keys/</link>
      <pubDate>Wed, 15 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://sillysky.net/docs/nyssr/configuration/configuration-nodes-and-keys/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://sillysky.net/images/LigneClaire/doc/ConfigurationKeys.webp&#34; alt=&#34;Configuration&#xA;Keys&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;All public keys for nyssr.net are listed here. Since the &lt;a href=&#34;https://docs.oracle.com/javase/8/docs/api/java/util/prefs/Preferences.html&#34;&gt;Java&#xA;Preferences&lt;/a&gt;&#xA;are hierarchically ordered, the paths of the nodes to which the keys belong&#xA;are also shown.&lt;/p&gt;&#xA;&lt;p&gt;All paths are relative to the base path &lt;code&gt;&amp;quot;/sillysky/nodes/CONFIG_NAME/&amp;quot;&lt;/code&gt; in&#xA;the USER tree of Java Preferences. The configuration name CONFIG_NAME is&#xA;mostly the &lt;a href=&#34;https://sillysky.net/docs/nyssr/ids-and-addresses/nodeid/&#34;&gt;Node-ID&lt;/a&gt;. Since node IDs of client nodes can also have a&#xA;random node ID, the configuration name can be different.&lt;/p&gt;</description>
    </item>
    <item>
      <title>CVersion</title>
      <link>https://sillysky.net/docs/nyssr/configuration/cversion/</link>
      <pubDate>Wed, 15 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://sillysky.net/docs/nyssr/configuration/cversion/</guid>
      <description>&lt;p&gt;CVersion is a utility class for comparing version information as used in&#xA;software library files.&lt;/p&gt;&#xA;&lt;h2 id=&#34;creation&#34;&gt;Creation&lt;/h2&gt;&#xA;&lt;p&gt;There is a factory method for creating a CVersion instance. It creates a&#xA;version object from a string. If you use a filename, please use it without&#xA;extension.&lt;/p&gt;&#xA;&lt;pre class=&#34;ss-javacode&#34;&gt;&lt;code class=&#34;language-java&#34;&gt;@NotNull&#xA;public static &lt;a href=&#34;https://sillysky.net/docs/nyssr/configuration/cversion/&#34;&gt;CVersion&lt;/a&gt; fromFilename(@NotNull final String aFilename);&#xA;&#xA;// usage:&#xA;final &lt;a href=&#34;https://sillysky.net/docs/nyssr/configuration/cversion/&#34;&gt;CVersion&lt;/a&gt; v = &lt;a href=&#34;https://sillysky.net/docs/nyssr/configuration/cversion/&#34;&gt;CVersion&lt;/a&gt;.fromFilename(&#34;mylib-1.2.3-SNAPSHOT&#34;);&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Another static method creates the version object from a file object. Here the&#xA;extension of the file name is removed. The file object is saved as a user&#xA;object in the version object and can be retrieved later (see below).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Environment variables</title>
      <link>https://sillysky.net/docs/nyssr/configuration/environment-variables/</link>
      <pubDate>Wed, 15 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://sillysky.net/docs/nyssr/configuration/environment-variables/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://sillysky.net/images/LigneClaire/doc/EnvironmentVariables.webp&#34; alt=&#34;Environment&#xA;Variables&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;All configuration values can also be set via environment variables. Since most&#xA;shells only use uppercase letters, digits and underscores for environment&#xA;keys, and the names must not start with digits, we go the following way:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The key starts with &amp;quot;NY_&amp;quot;.&lt;/li&gt;&#xA;&lt;li&gt;Dots (&#39;.&#39;) become 2 underscores: &amp;quot;__&amp;quot;.&lt;/li&gt;&#xA;&lt;li&gt;Preference path delimiter (&#39;/&#39;) becomes 3 underscores: &amp;quot;___&amp;quot;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;example&#34;&gt;Example&lt;/h2&gt;&#xA;&lt;p&gt;NY_KERNEL__CONFIGURATION___NODE__DESCRIPTION=MyNode&lt;/p&gt;&#xA;&lt;p&gt;becomes&lt;/p&gt;&#xA;&lt;p&gt;kernel.configuration/node.description=MyNode&lt;/p&gt;</description>
    </item>
    <item>
      <title>Importing JAVA preference files</title>
      <link>https://sillysky.net/docs/nyssr/configuration/importing-java-preference-files/</link>
      <pubDate>Wed, 15 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://sillysky.net/docs/nyssr/configuration/importing-java-preference-files/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://sillysky.net/images/LigneClaire/doc/JavaPreferences.webp&#34; alt=&#34;Importing JAVA preference&#xA;files&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;The Java Preferences are hierarchically organized in nodes. The library allows&#xA;to export and &lt;a href=&#34;https://sillysky.net/docs/nyssr/configuration/importing-java-preference-files/&#34;&gt;import&lt;/a&gt; complete subtrees into an XML file.&lt;/p&gt;&#xA;&lt;p&gt;nyssr.net exports the existing settings of a node to the storage directory at&#xA;startup. We can modify this file for a new node and give it to the first&#xA;startup.&lt;/p&gt;&#xA;&lt;pre class=&#34;ss-javacode&#34;&gt;&lt;code class=&#34;language-xml&#34;&gt;&lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&gt;&#xA;&lt;!DOCTYPE preferences SYSTEM &amp;quot;http://java.sun.com/dtd/preferences.dtd&amp;quot;&gt;&#xA;&lt;preferences EXTERNAL_XML_VERSION=&amp;quot;1.0&amp;quot;&gt;&#xA;  &lt;root type=&amp;quot;user&amp;quot;&gt;&#xA;    &lt;map/&gt;&#xA;    &lt;node name=&amp;quot;sillysky&amp;quot;&gt;&#xA;      &lt;map/&gt;&#xA;      &lt;node name=&amp;quot;nodes&amp;quot;&gt;&#xA;        &lt;map/&gt;&#xA;        &lt;node name=&amp;quot;io&amp;quot;&gt;&#xA;          &lt;map/&gt;&#xA;          &lt;node name=&amp;quot;kernel.configuration&amp;quot;&gt;&#xA;            &lt;map&gt;&#xA;              &lt;entry key=&amp;quot;node.id&amp;quot; value=&amp;quot;io&amp;quot;/&gt;&#xA;              &lt;entry key=&amp;quot;storage.dir&amp;quot; value=&amp;quot;/run/io/storage&amp;quot;/&gt;&#xA;              &lt;entry key=&amp;quot;log.dir&amp;quot; value=&amp;quot;log&amp;quot;/&gt;&#xA;              &lt;entry key=&amp;quot;license&amp;quot; value=&amp;quot;06708aeb-ec9b-456d-829e-30c5cfdd6503&amp;quot;/&gt;&#xA;              &lt;entry key=&amp;quot;node.description&amp;quot; value=&amp;quot;Test 001&amp;quot;/&gt;&#xA;              &lt;entry key=&amp;quot;plugin.dir&amp;quot; value=&amp;quot;/run/plugins&amp;quot;/&gt;&#xA;              &lt;entry key=&amp;quot;type.of.node&amp;quot; value=&amp;quot;SERVER&amp;quot;/&gt;&#xA;              &lt;entry key=&amp;quot;config.dir&amp;quot; value=&amp;quot;/run/io/config&amp;quot;/&gt;&#xA;              &lt;entry key=&amp;quot;config.name&amp;quot; value=&amp;quot;io&amp;quot;/&gt;&#xA;              &lt;entry key=&amp;quot;vendor&amp;quot; value=&amp;quot;sillysky&amp;quot;/&gt;&#xA;              &lt;entry key=&amp;quot;segment.id&amp;quot; value=&amp;quot;ss&amp;quot;/&gt;&#xA;              &lt;entry key=&amp;quot;base.dir&amp;quot; value=&amp;quot;/run/io&amp;quot;/&gt;&#xA;            &lt;/map&gt;&#xA;          &lt;/node&gt;&#xA;          &lt;node name=&amp;quot;logging&amp;quot;&gt;&#xA;            &lt;map/&gt;&#xA;            &lt;node name=&amp;quot;catcher&amp;quot;&gt;&#xA;              &lt;map/&gt;&#xA;            &lt;/node&gt;&#xA;            &lt;node name=&amp;quot;writer&amp;quot;&gt;&#xA;              &lt;map/&gt;&#xA;              &lt;node name=&amp;quot;console&amp;quot;&gt;&#xA;                &lt;map&gt;&#xA;                  &lt;entry key=&amp;quot;writer.class.name&amp;quot; value=&amp;quot;de.sillysky.nyssr.log.CDefaultConsoleLogWriter&amp;quot;/&gt;&#xA;                  &lt;entry key=&amp;quot;level&amp;quot; value=&amp;quot;INFO&amp;quot;/&gt;&#xA;                  &lt;entry key=&amp;quot;formatter.class.name&amp;quot; value=&amp;quot;de.sillysky.nyssr.log.CDefaultMessageFormatter&amp;quot;/&gt;&#xA;                &lt;/map&gt;&#xA;                &lt;node name=&amp;quot;levels&amp;quot;&gt;&#xA;                  &lt;map&gt;&#xA;                    &lt;entry key=&amp;quot;startup&amp;quot; value=&amp;quot;TRACE&amp;quot;/&gt;&#xA;                    &lt;entry key=&amp;quot;network&amp;quot; value=&amp;quot;TRACE&amp;quot;/&gt;&#xA;                  &lt;/map&gt;&#xA;                &lt;/node&gt;&#xA;              &lt;/node&gt;&#xA;              &lt;node name=&amp;quot;file&amp;quot;&gt;&#xA;                &lt;map&gt;&#xA;                  &lt;entry key=&amp;quot;level&amp;quot; value=&amp;quot;DEBUG&amp;quot;/&gt;&#xA;                  &lt;entry key=&amp;quot;formatter.class.name&amp;quot; value=&amp;quot;de.sillysky.nyssr.log.CDefaultMessageFormatter&amp;quot;/&gt;&#xA;                  &lt;entry key=&amp;quot;file.path&amp;quot; value=&amp;quot;/run/io/log/io.log&amp;quot;/&gt;&#xA;                  &lt;entry key=&amp;quot;writer.class.name&amp;quot; value=&amp;quot;de.sillysky.nyssr.log.CSyncFileLogWriter&amp;quot;/&gt;&#xA;                &lt;/map&gt;&#xA;                &lt;node name=&amp;quot;levels&amp;quot;&gt;&#xA;                  &lt;map/&gt;&#xA;                &lt;/node&gt;&#xA;              &lt;/node&gt;&#xA;            &lt;/node&gt;&#xA;          &lt;/node&gt;&#xA;          &lt;node name=&amp;quot;namespace&amp;quot;&gt;&#xA;            &lt;map/&gt;&#xA;            &lt;node name=&amp;quot;CLI&amp;quot;&gt;&#xA;              &lt;map/&gt;&#xA;            &lt;/node&gt;&#xA;            &lt;node name=&amp;quot;SYSTEM&amp;quot;&gt;&#xA;              &lt;map/&gt;&#xA;            &lt;/node&gt;&#xA;            &lt;node name=&amp;quot;TCP&amp;quot;&gt;&#xA;              &lt;map/&gt;&#xA;            &lt;/node&gt;&#xA;            &lt;node name=&amp;quot;TRANSPORT&amp;quot;&gt;&#xA;              &lt;map/&gt;&#xA;            &lt;/node&gt;&#xA;          &lt;/node&gt;&#xA;          &lt;node name=&amp;quot;network&amp;quot;&gt;&#xA;            &lt;map/&gt;&#xA;          &lt;/node&gt;&#xA;          &lt;node name=&amp;quot;plugin.manager&amp;quot;&gt;&#xA;            &lt;map/&gt;&#xA;            &lt;node name=&amp;quot;plugins&amp;quot;&gt;&#xA;              &lt;map&gt;&#xA;                &lt;entry key=&amp;quot;0010&amp;quot; value=&amp;quot;NY_NetworkPlugIn&amp;quot;/&gt;&#xA;                &lt;entry key=&amp;quot;0030&amp;quot; value=&amp;quot;NY_MicroServicePlugIn&amp;quot;/&gt;&#xA;                &lt;entry key=&amp;quot;0020&amp;quot; value=&amp;quot;NY_TcpPlugIn&amp;quot;/&gt;&#xA;              &lt;/map&gt;&#xA;            &lt;/node&gt;&#xA;          &lt;/node&gt;&#xA;          &lt;node name=&amp;quot;preferences&amp;quot;&gt;&#xA;            &lt;map/&gt;&#xA;          &lt;/node&gt;&#xA;          &lt;node name=&amp;quot;tcp&amp;quot;&gt;&#xA;            &lt;map/&gt;&#xA;            &lt;node name=&amp;quot;client&amp;quot;&gt;&#xA;              &lt;map/&gt;&#xA;              &lt;node name=&amp;quot;ceres&amp;quot;&gt;&#xA;                &lt;map&gt;&#xA;                  &lt;entry key=&amp;quot;port&amp;quot; value=&amp;quot;20001&amp;quot;/&gt;&#xA;                  &lt;entry key=&amp;quot;inputBufferSize&amp;quot; value=&amp;quot;300000&amp;quot;/&gt;&#xA;                  &lt;entry key=&amp;quot;retryTimeout&amp;quot; value=&amp;quot;5000&amp;quot;/&gt;&#xA;                  &lt;entry key=&amp;quot;ID&amp;quot; value=&amp;quot;bcc4a8d0-67e0-44a5-a076-34bfef286049&amp;quot;/&gt;&#xA;                  &lt;entry key=&amp;quot;host&amp;quot; value=&amp;quot;127.0.0.1&amp;quot;/&gt;&#xA;                  &lt;entry key=&amp;quot;enableSSL&amp;quot; value=&amp;quot;false&amp;quot;/&gt;&#xA;                &lt;/map&gt;&#xA;              &lt;/node&gt;&#xA;            &lt;/node&gt;&#xA;            &lt;node name=&amp;quot;server&amp;quot;&gt;&#xA;              &lt;map/&gt;&#xA;            &lt;/node&gt;&#xA;          &lt;/node&gt;&#xA;        &lt;/node&gt;&#xA;      &lt;/node&gt;&#xA;    &lt;/node&gt;&#xA;  &lt;/root&gt;&#xA;&lt;/preferences&gt;&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
  </channel>
</rss>
