Eigenschaften

Die Konfiguration eines Servers erfolgt über Java™-Eigenschaften.  Ein Server kann weitestgehend ohne besondere Konfiguration betrieben werden.  Nur die Angabe des TCP-Ports ist obligatorisch.

Folgende Teile lassen sich konfigurieren:

Port

Der Server erhält seine Roblets® über das Netzwerk.  Zu diesem Zweck lauscht er an einem TCP-Port auf eingehende Verbindungsanfragen und geht auf Anfrage nach Möglichkeit Verbindungen ein.

Mit Hilfe der Java™-Eigenschaft genRob.genControl.port wird dem Server die Port-Nummer mitgeteilt.  Wird die Angabe einer Port-Nummer weggelassen, so wird als Standardwert 2001 angenommen.

java  -DgenRob.genControl.port=2001  -jar org.roblet.jar server

Letzteres ist demnach gleichbedeutend mit:

java  -jar org.roblet.jar  server

Bei Angabe von 0 als Port-Nummer verwendet der Server die nächste freie Portnummer, die das Betriebssystem zurückgibt. 

java  -DgenRob.genControl.port=0  -jar org.roblet.jar server

Logbuch

Ein Server führt ein zentrales Logbuch.  Dieses Logbuch ist eine Liste, die in der JVM gehalten wird.  In das Logbuch werden Einträge von drei Quellen gemacht:  Vom Server selbst, von den Modulen und von den Roblets.  Die Server-eigenen Aufzeichnungen sind standardmäßig abgeschaltet, können jedoch angeschaltet werden.  Logbuch-Einträge von Modulen und Roblets® werden immer aufgezeichnet.

Wird ein Logbuch-Eintrag erzeugt, so wird er zunächst ins Logbuch eingetragen.  Je nach Konfiguration des Servers wird er dann noch auf den Standard-Ausgabestrom ausgegeben und/oder in eine Datei geschrieben.

Logbuch-Einträge lassen sich jederzeit per Roblet verarbeiten, also auch abholen.  Das Werkzeug nutzt das, um ein Hilfsmittel für die Kommando-Zeile des Betriebssystems bereitzustellen.

Server-eigene Einträge und Ausgabe auf Standard-Ausgabestrom

Ein Server kann viele Informationen über seine Aktivitäten in Form von Logbuch-Einträgen aufzeichnen.  Die Server-eigenen Aufzeichnungen sind standardmäßig abgeschaltet.

Um Aktivitäten aufzeichnen zu lassen, muß die Java™-Eigenschaft genRob.genControl.log bestimmte Schlüsselworte enthalten.  Will man darüber hinaus den intern benutzten Roblet®-Klienten zu Aufzeichnungen bewegen, muß die eben genannte Eigenschaft das Schlüsselwort client enthalten und außerdem muß die Java™-Eigenschaft genRob.genControl.client.log mit weiteren Schlüsselworten versehen werden.

Folgende Schlüsselworte gibt es:

Sollen Fehler im Protokoll gesucht werden, ist folgende Reihenfolge einer Nutzung von Schlüsselworten sinnvoll.  Man gibt zunächst nur ein Schlüsselwort an und dann bei Bedarf immer mehr. Es werden dadurch schrittweise immer mehr Informationen aufgezeichnet:  connect, call, load, transport, queues, confirm, tube, link.

Ausgabe auf Standard-Ausgabestrom

Standardmäßig dient die Java™-Eigenschaft genRob.genControl.log nur dem Einschalten von Server-eigenen Aufzeichnungen.  Will man auch Ausgaben im Terminal(fenster) haben, muß man das Schlüsselwort terminal verwenden.  Das Schlüsselwort long erzwingt dabei zusammen mit terminal eine ausführliche Zeitausgabe mit Datum und Zeitzone, was bei bei sehr lang laufenden Servern hilfreich ist.  Unabhängig davon arbeitet das Logbuch intern stets mit ausführliche Angaben.

Ausgaben der Befehlszeile werden mit den Ausgaben des Logbuchs gemischt.  Unabhängig davon arbeitet das Logbuch intern stets mit ungemischten Angaben.

Der Standard-Ausgabestrom läßt sich in der Regel in eine Datei umleiten.  Loggen in eine Datei verfolgt einen ähnlichen Zweck, allerdings erfolgt die Abspeicherung dort in einem Binärformat, welches das Logbuch fast identisch repräsentiert.

Beispiel

Hier ein Beispiel, wie der Server per Kommandozeile aufzurufen ist (alle Plattformen;  in eine Zeile):

java  -DgenRob.genControl.log=terminal,version
    ...
    -jar org.roblet.jar
    server

Läßt man die Eigenschaft leer (genRob.genControl.log=), so ist das gleichbedeutend mit dem Weglassen der Eigenschaft.

Datei-Loggen

Bei Angabe eines Dateinamens in der Java™-Eigenschaft genRob.genControl.log.file wird der Server eingehende Logbuch-Einträge parallel in eine Datei schreiben.  Das geschieht zusätzlich zum Speichern in der JVM in das Logbuch.  Diese Datei kann mit Hilfe Log-Datei-Funktion des Werkzeugs ausgelesen werden.  Die Abspeicherung erfolgt in einem Binärformat, welches das Logbuch fast identisch repräsentiert und ist für eher seltene Debug-Problme gedacht.

Beispiel (in eine Zeile):

java  -DgenRob.genControl.log.file=test.log
    ...
    -jar org.roblet.jar
    server

Läßt man die Eigenschaft leer (genRob.genControl.log.file=), so ist das gleichbedeutend mit dem Weglassen der Eigenschaft.  Läßt sich die Datei nicht öffnen oder (nicht mehr) schreiben, so wird die weitere Nutzung des Mechanismus eingestellt und eine Fehlermeldung ins (interne) Log eingetragen.

Loggen des internen Roblet®-Klienten

Achtung Software-Entwickler:  Wie eine Roblet®-Anwendung die von ihr benutzten Roblet®-Klienten dazu bringt, Log-Information zu erzeugen, ist in der Java™-Schnittstelle genRob.genControl.client.Log (Log mit großem L) beschrieben.  An dieser Stelle geht es hingegen um den vom Roblet®-Server intern benutzten Roblet®-Klienten.

Folgende Schlüsselworte gibt es für das Logging des Server-internen Klienten:

Dabei ist zu beachten, daß für die Eigenschaft genRob.genControl.log auch der Wert client gesetzt ist, da sonst der interne Roblet®-Klient nicht für die Ausgabe von Log-Informationen initialisiert wird.

Hier ein Beispiel:

java  -DgenRob.genControl.log=client,terminal
      -DgenRob.genControl.client.log=base
    ...
    -jar org.roblet.jar
    server

Läßt man die Eigenschaft leer (genRob.genControl.client.log=), so ist das gleichbedeutend mit dem Weglassen der Eigenschaft.

Rechte- und Versionsausgabe

Durch Setzen des Wertes der Java™-Eigenschaft org.roblet.server.quiet auf true kann die Ausgabe von Rechte- und Versionsinformationen unterdrückt werden.  Der Wert kann beliebige Groß- und Kleinschreibung haben.

java  -Dorg.roblet.server.quiet=true
    -jar org.roblet.jar
    server
powered by genRob®erzeugt am 30.12.2015 um 02:16:58.945 UTC mit
genRob®-genSite 3.4