Johnny90 Geschrieben 21. Mai 2008 Geschrieben 21. Mai 2008 Servus Ich möchte gerne den Unterschied zwischen Stateful- und Stateless Session Beans darstellen. Ich hab mir das so gedacht. 2 Clienten: der eine kauft nur bananen, der andere nur äpfel dann hab ich 2 warenkörbe: bei Stateless müsste dann die Waren gemischt sein --> also im Warenkorb müssten Äpfel und Bananen vorhanden sein bei Stateful: bei Client 1 nur Bananen und Client 2 nur Äpfel so: ich weiß nur nicht was ich machen muss um den ersten Fall zu beweisen. Ich muss ja normalerweise die beiden Prozesse (also die Clienten, die ihre Ware kaufen) gleichzeitig starten, damit auch wirklich beide Obstsorten im Warenkorb sind. Jedoch weiß ich nicht wie ich das anstellen soll... PS: DAS IST KEINE HAUSAUFGABE!!! weil ich das jetz schon oft genug gelesen habe hier, wenn man Hilfe benötigt... Zitieren
perdian Geschrieben 21. Mai 2008 Geschrieben 21. Mai 2008 Ich möchte gerne den Unterschied zwischen Stateful- und Stateless Session Beans darstellen.Eigentlich ganz einfach: Sowohl bei Stateful als auch bei Stateless Session Beans kannst du innerhalb des Beans beliebige Properties setzen. Bei Stateful Session Beans garantiert dir der Container, dass zwei aufeinander folgende Aufrufe desselben Beans dieselben Properties auslesen können, bzw. Änderungen an den Properties durch den ersten Aufruf im zweiten Aufruf noch genauso verfügbar sind. Der Container garantiert dir sogar, dass sämtliche Aufrufe, die auf das entsprechende Bean vom selben Client durchgeführt werden einen konsistenten State beinhalten. Bei Stateless Session Beans kannst du prinzipiell dieselben Operationen durchführen, also Properties setzen, verändern, etc. Der Container macht jedoch keinerlei Aussagen darüber, ob diese Änderungen bei einem weiteren Aufruf einer Methode auf dem Bean noch vorhanden sind. Mit anderen Worten: Bei jedem Aufruf einer Methode kann sich der interne Zustand des Beans beliebig geändert haben. Ich hab mir das so gedacht. [...] dann hab ich 2 warenkörbe:Ich würde keinen Warenkorb als Beispiel nehmen. Ein Warenkorb wird implizit vom Verhalte mit einem Stateful Session Bean gleichgesetzt und es gibt kein vernünftiges und nachvollziehbares Beispiel, was einen Warenkorb als stateless verwenden sollte. Ich muss ja normalerweise die beiden Prozesse (also die Clienten, die ihre Ware kaufen) gleichzeitig starten, damit auch wirklich beide Obstsorten im Warenkorb sind.Selbst das muss nicht so sein. Es kann auch einfach sein, dass der Container einen Pool an Beans erstellt und bei jedem Aufruf ein anderes Bean zur Verwendung herausgibt - dann sind weder in einem Bean alle Einträge vorhanden, noch ist garantiert (siehe oben) dass das auch so bleibt. Zitieren
Johnny90 Geschrieben 21. Mai 2008 Autor Geschrieben 21. Mai 2008 aaaaaaaaaaaahhhh!!!! :upps ganz großer denkfehler... danke schön ich bleib trotzdem bei meinem warenkorb. nochmal vielen dank für die schnelle und gute antwort Mfg Johnny Zitieren
geloescht_Newlukai Geschrieben 22. Mai 2008 Geschrieben 22. Mai 2008 Und soweit ich weiß, kannst Du Dein beschriebenes Verhalten eher über den Scope steuern. Ob SLSB oder SFSB, wenn es im Scope "Application" liegt, verwenden beide Kunden denselben, bei "Session" zwei getrennte Warenkörbe. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.