Client

Gestern habe ich noch ein bisschen was am Client gemacht. Dieser hat jetzt einen „auto Fallback“. Ist der Server bei einer Übertragung nicht erreichbar, so werden die Werte zwischengespeichert. Der Client prüft jede Minute ob der Server wieder erreichbar ist. Ist das der Fall werden alle Werte übertragen so das nichts verloren geht.
Das sollte für spätere Stationen mit UMTS Anbindung recht interessant sein sollte die Verbindung mal zusammenbrechen.

Struktur

 

Also so sieht jetzt die Struktur meines Servers aus.

Configuration:
Liest aus einer Datei alle Einstellungen ein, die dann an die einzelnen Klassen und Threads weitergegeben werden.

Logger:
Ich hab mir nen eigenen Logger geschrieben, der einfach alle Meldungen in eine Datei packt.

Datenbank:
Das ist ein Interface, dass je nach Konfiguration die Datenbankanbindung implementiert. Das kann MySql sein oder was anderes die Funktionen die benötigt werden sind alle dort hinterlegt.

GarbageCl:
Das ist ein Thread, der jede Minute den GC aufruft damit der Speicherverbrauch möglichst klein bleibt.

Wetterpool
Damit werden alle 10 Minuten die aktuellen Werte an Wetterpool gesendet.

BackendServer:
Ist ein TCP ServerSocket der die Werte der einzelnen Stationen entgegen nimmt.
Protokoll: http://www.sven-lindeboom.net/?page_id=326

PresentationServer:
Das ist ein TCP ServerSocket über den man Wetterdaten abfragen kann. (z.B. von einer Webseite)