Befehlszeile

Die Befehlszeile des Servers ist eine Funktionalität, bei der der Server den Standard-Eingabestrom liest und jeweils zeilenweise die eingegebenen Daten verarbeitet.  Ausgaben, die auf die Befehle hin entstehen, werden in den Standard-Ausgabestrom geschrieben.

D.h. wird der Server in einem Terminalfenster bzw. einer Eingabeaufforderung ausgeführt, so bedeutet das normalerweise, daß mit Hilfe der Tastatur Eingaben vorgenommen werden können, die dann nach Drücken der Eingabetaste (ENTER) als ganze Zeile vom Server verarbeitet werden.  Die Ausgaben erscheinen normalerweise dann auch in diesem Terminalfenster bzw. der Eingabeaufforderung.  Die Einschränkung "normalerweise" ist hier deshalb stets angegeben, weil auch je nach Umgebung verschiedenste Möglichkeiten der Umleitung von Strömen gegeben sind.

Logbuch-Ausgaben

Wird der Server angewiesen, die Logbuch-Ausgaben auch in den Standard-Ausgabestrom zu schreiben (Wert terminal), dann erscheinen die Ausgaben der Befehlszeile mit den Log-Einträgen gemischt.

Ende des Eingabestroms

Wird der Eingabestrom geschlossen (z.B. Eingabe von Ctrl-D in der Bash bzw. Ctrl-Z in der CMD.EXE), so endet die Befehlszeilenfunktion des Servers (rückmeldungslos).  Eingaben werden danach nicht mehr gelesen.

Durch diese Eigenschaft kann z.B. in der Bash mit Hilfe einer Umleitung ein Server "im Hintergrund" gestartet werden (/dev/null gibt quasi Ctrl-D zurück):

java  -jar org.roblet.jar server  <  /dev/null  &

Daemon-Prozesse werden in ähnlicher Weise gestartet.

Befehle

Die Befehlszeile kann nur ganz einfache Befehle verarbeiten.  Jeder Befehl ist jeweils ein einzelner Buchstabe, der vom Drücken der Eingabetaste gefolgt wird.  Vor und hinter jedem Befehl dürfen keine weiteren Zeichen stehen.

Folgende Befehle kennt der Server:

Befehl Beschreibung Ausgaben
e Beenden des Servers - laufende Roblets® werden (bedingungslos) beendet Es wird das Wort EXIT ausgegeben.
g Läßt den Garbage-Collector der JVM laufen. keine
l Auflisten aller Threads und Gruppen in hierarchischer Form Auflistung aller Threads und Gruppen in hierarchischer Form abhängig vom JDK
m Ausgabe aller eingemeldeten und (noch) nicht aufgeräumten Instanzen des Speicherwächters.  Überwacht werden nur Instanzen die auch potentiell Einträge ins Logbuch machen. Es werden die Instanzen mit Klassenname und identity hash code gefolgt vom Ergebnis der toString()-Abfrage (zum Zeitpunkt der Einmeldung).

Ist kein Speicherwächter aktiviert, so wird NO MEMORIZER ausgegeben.

p Auflisten aller Threads eingerückt nach Priorität Auflistung aller Threads eingerückt nach Priorität
powered by genRob®erzeugt am 11.09.2010 um 04:41:23.626 CEST mit
genRob®-genSite 3.4