Java Reference
In-Depth Information
dass es sich dabei um ein sinnvolles Beispiel handelt; es geht hier um eine reine Demonst-
ration der Stateless-Eigenscha eines Beans.
Wiederum eine andere Ausgabe ergibt sich, wenn man schließlich die dritte Bean-Variante
verwendet. Gleichgültig, wie viele Lookups man ausführt und wie viele Stubs man sich
bescha , es gibt nur ein einziges Objekt auf dem Server. Entsprechend sieht die Ausgabe
so aus:
1 2
3 4
5 6
7 8
9 10
11 12
13 14
15 16
17 18
19 20
Und bei erneuter Ausführung des Clients wird dann entsprechend weitergezählt:
21 22
23 24
...
Die Ausgaben bei der Verwendung des Stateful und des Singleton Beans sollten bei Ihnen
auch so aussehen wie gezeigt, unabhängig davon, welchen Server Sie verwenden. Die Aus-
gabe bei der Nutzung des Stateless Beans kann allerdings abweichen, denn sie hängt von
der Strategie des EJB-Containers ab, wie viele Beans er erzeugt und wie er die eintreff enden
Methodenaufrufe auf die Bean-Objekte au eilt. In unserem Beispiel wäre zum Beispiel nur
ein einziges Stateless-Bean-Objekt nötig, da es keine parallelen Aufrufe gibt. So erzeugt der
Glassfi sh-Server in der Tat auch nur ein einziges Objekt, so dass für Glassfi sh die Ausgabe
bei einem Stateless wie bei einem Singleton Bean aussieht.
Übrigens bleibt ein Aufruf der Methode bye für die Stateless Beans und das Singleton Bean
ganz ohne Wirkung. Das Löschen eines Stateless-Bean-Objekts ist ganz allein Sache des
EJB-Containers und kann nicht vom Client beeinfl usst werden. Das Singleton Bean wird erst
ge löscht, wenn der Server beendet oder die EJB-Komponente deinstalliert wird. Also auch in
diesem Fall lässt sich das Löschen nicht von außen anstoß en. Da der Aufruf von bye also
wirkungslos ist, führt ein weiterer Aufruf einer Methode wie reset in diesen beiden Fällen
nicht zu einer Ausnahme, wie dies beim Stateful Bean der Fall war.
137 Zweite EJB-Beispielkomponente
Mit der ersten EJB-Komponente konnten wir experimentieren, wie ein EJB-Container Bean-
Objekte erzeugt. Mit der zweiten EJB-Komponente soll nun die Parallelität der Methodenauf-
rufe untersucht werden. Dazu verwenden wir eine Methode, die eine längere Ausführungs-
zeit hat, wobei diese Zeit (in Sekunden) über einen Parameter angegeben werden kann. Die
Methode soll sleep heißen. Die dazugehörige EJB-Schnittstelle ist in Listing 13.4 enthalten.
 
Search WWH ::




Custom Search