samedi 6 juin 2015

Servlet EJBs in Servlets verwenden?

(Aus irgendeinem Grund werden die Absätze in meinem Beitrag nach dem Posten entfernt...) Guten Abend! Die Frage hört sich einfach an: Ich suche eine Möglichkeit, Stateful Session Beans innerhalb von Servlets zu verwenden. In Servlets lassen sich EJBs scheinbar ganz komfortabel mittels @EJB-Annotation injizieren. Es lassen sich sowohl Stateless als auch Stateful Session Beans injizieren. Jeder HTTP-Zugriff auf das Servlet führt aber zu einem Zugriff auf die selbe Stateful Session Bean, obwohl ich natürlich durch den Einsatz einer Stateful Session Bean bezweckte, dass für jede HTTP-Session separate Stateful Session Beans angelegt werden. Ursache: Servlet-Instanzen sind nicht an einzelne HTTP-Sitzungen gebunden, deshalb bleiben die einmal injizierten EJB-Instanzen dort für immer enthalten. Mit Facelets und BackingBeans sollen sich StatefulBeans wohl sinnvoll nutzen lassen. Da macht man wohl einfach nur ein @Named und @SessionScoped ran und schon geht es. Aber geht das auch mit reinen Servlets? Ich möchte nur ungern alle Nutzdaten mittels HttpSession.setAttribute() abspeichern, und die Nutzdaten dann durch ein verzweigtes Netz an Bean-Aufrufen durchleiten. Weil das ist ja soweit ich weiß gerade der Punkt, warum man dependency injection haben möchte. Google meint auch, man solle einfach die Beans erstellen (mittels new?) und diese dann über HttpSession.setAttribute() festhalten und beim nächsten Aufruf wieder aus dieser Session lesen. Versuche schon den ganzen Tag eine Lösung für das Problem zu finden, habe aber bis jetzt noch nichts zufriedenstellendes gefunden. Bin froh um jeden Tipp oder Kommentar. Danke!


Servlet EJBs in Servlets verwenden?

0 commentaires:

Enregistrer un commentaire