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...
perdian Geschrieben 21. Mai 2008 Geschrieben 21. Mai 2008 Johnny90 schrieb: 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. Johnny90 schrieb: 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. Johnny90 schrieb: 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.
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
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.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden