2012-04-10 3 views
0

ich die Sitzung erfolgreich in meinen Diensten nutzen mit:Sitzung von außerhalb Dienstklasse Get in GWT

getThreadLocalRequest().getSession() 

jedoch meine Anwendung in Schichten getrennt ist, ein Verfahren von meinem Dienst wird eine andere Methode von Business-Schicht nennt, dann Aufruf von DAO-Layer-Methoden.

In DAO-Ebene möchte ich auf einige Informationen in der Sitzung zugreifen. Hier ist die Art, wie ich sehen kann:

  • in allen Methoden der Http Objekt übergeben ... Aber ich will nicht zu tun, dass

Gibt es andere Möglichkeiten, das zu tun?

Ich benutze GUICE für Informationen, gibt es einige bereits erstellte Anbieter, die mir die aktuelle Anfrage Sitzung geben würde?

Danke!

+0

Haben Sie versucht, @Inject Provider sessionProvider; –

Antwort

1

Da Ihre Anwendung bereits überlagert ist, warum sollten Sie Ihre DAO-Schicht mit etwas so Implementierungsspezifischem wie einem HTTPSession-Objekt "verschmutzen"? Aus architektonischer Sicht ist das sicher nicht der richtige Weg. Es macht auch Unit-Tests schwieriger.

+0

Sie haben Recht, da diese Informationen von PHP-Sitzung stammten, habe ich nicht darüber nachgedacht und wollte sie in Java-Sitzung setzen. Aber um meine Ebenen auf dem richtigen Weg zu halten, verwende ich die DAO-Ebene, um die Informationen zu erhalten, die ich brauche. –

Verwandte Themen