Hallo,
und wenn ich das rchtig verstanden habe wuerde das Singleton Aplikations-zentral und nicht nur innerhalb einer Sitzung die Persistenz verwalten.
Hab ich das richtig verstanden ?
Ja, das hast Du. ;)
Wenn das so ist muss das Singleton ( oder irgendein Objekt ) Nebenlaeufigkeit modellieren oder vielleicht moderieren.
Da stellt sich dann die Frage wem der Mutex (die Semaphore oder wie auch immer das unter Java heisst) "gehoert" also ob der Thread eines serverseitigen Agenten ( so koennte man das bauen ) auf eine Zugriff auf eine Singleton - Queue (?) wartet, oder ob das Singleton mit einem aktiven Thread selbst queues in den Agenten ausliest.
Das Singleton liegt auf dem Server in einem Container, es laeuft also kontinuirlich.
Initial liest es zuerst die Daten der Datenbank ein. Danach wird es wie eine Liste
verwaltet. Sprich neue Eintraege (vom Client) werden zu der Liste hinzugefuegt (und
vielleicht auch dort persistiert), Das heist, es waere nur ein
einziges Retrieve noetig (alle anderen Aktionen waeren Inserts).
Da wuerde ich das Singleton aktiv stellen !
Man kann den Thread ja vom Agenten aufwecken lassen damit er nicht grundlos rumidled, das ist threadsicher, wenn er schon laeuft passiert naemlich nix Neues.
Aber wie gesagt, ich weiss genau nicht wie das unter Java laeuft.
Damit der Benutzer dann nach seiner Transaktion auch die aktuelle Seite angezeigt bekommt, koennte man seinen Agenten im Adressruam des Servers als "dirty" kennzeichnen und dieses Flag vom Singleton-Thread zuruecksetzen lassen.
Das waere dann so ne Art COMMIT.
Was verstehst Du unter Agent? Einen scheduled task? ?
PS.: Gibt eine imho gute Uebersicht ueber Entwurfs- und Architekturmuster http://www.vico.org/pages/PatronsDisseny.html; kennt Du die Seite ?
Nein, Danke, schaue ich mir gleich mal an.
Besten Dank
Christopher