Verwendung von static in Tomcat nicht möglich?

Tashtego

Grünschnabel
Ich habe ein unangenehmens Problem und hoffe, jemand kann mir eine Lösung anbieten. Ich habe versucht, mein Projekt aufzugliedern und das MVC-Design umzusetzen, folgende Struktur:

Hauptprojekt, quasi der Controller und das Modell, mit Hibernate-Unterstützung, den Entities etc.

Swing-Projekt, welches den View 1 darstellt und auf das Hauptprojekt zugreift.

Web-Projekt mit Struts und Tomcat-Unterstützung, welches alternativ zur Clientanwendung genutzt werden soll und auf dasselbe Hauptprojekt zugreifen soll.

Grundsätzlich funktioniert es. Aber ich stoße jetzt an eine Grenze, konkret im Anwendungsgebiet Historisierung. Ich möchte festhalten, welcher Benutzer wann welche Änderungen vorgenommen hat. Das bedeutet, ich muß wissen, welcher Benutzer aktuell angemeldet ist.

Jetzt möchte ich natürlich nicht ab der Main Methode in JEDER Funktion in JEDEM Objekt den Benutzer setzen müssen. Also bin ich hergegangen und habe eine Klasse mit static Funktionen erstellt, getUser(). Jetzt konnte ich in der Swing Applikation von jeder Stelle aus den User abfragen:confused:. Und da jede Swing main() Applikation in einer eigenen Virtual Machine abläuft, funktioniert das auch. Wenn ich jetzt aber denselben Controller (Hauptprojekt) unter Struts benutzenw will, darf ich static offenbar nicht einsetzen. Weil nur ein Tomcat Prozess gestartet wird in einer Virtual Machine und alle Benutzer sich den static Bereich teilen. Ok in Struts kein Problem, ich werfe einfach alles in die HttpSession. Aber das kann ich in Swing nicht machen!? Wo kann ich mir jetzt also merken, welcher User angemeldet ist? Und zwar so merken, daß ich es in der Swing UND in der Struts-Anwendung nutzen kann über das gemeinsame Hauptprojekt?
 
Zurück