Java Reference
In-Depth Information
Über ein Properties-Objekt gibt man unterschiedliche Name-Wert-Paare an. Properties ist
eine Klasse aus dem Package java.util. Auch müssen zur Ausführung des Clients abhängig
vom verwendeten Server unterschiedliche Jar-Dateien verwendet werden.
Wenn wir durch Änderung des Namens in den beiden Lookup-Aufrufen von Listing 13.3
nun das Stateless Bean verwenden, ergibt sich eine ganz andere Ausgabe. Bei der ersten
Ausführung kann sich zum Beispiel die folgende Ausgabe ergeben, die bei Ihnen auch ganz
anders aussehen kann, z. B. wenn Sie einen anderen Server oder eine andere Version eines
Servers verwenden. Die folgende Ausgabe stammt von einem Probelauf mit einem JBoss6-
Server:
1 1
1 2
2 2
3 3
3 4
4 4
5 5
5 6
6 6
7 7
Betrachten wir zum Beispiel nur die linke Spalte (das sind die Werte, die vom Aufruf von
increment über den ersten Stub zurückgegeben werden), dann sieht man, dass man nach
dem ersten Aufruf 1 erhält, nach dem zweiten Aufruf aber wieder 1. Ganz off ensichtlich
wurde also beim zweiten Aufruf über den ersten Stub ein anderes Bean verwendet als
beim ersten Aufruf. Insgesamt wird der Wert 10 von keinem der Bean-Objekte erreicht.
Dies lässt sich erklären, wenn man auf die Ausgabe des Servers auf der Console schaut:
Es werden drei Bean-Objekte der Stateless-Bean-Klasse erzeugt. Diese werden off enbar
zyklisch benutzt. Die ersten drei Ausgaben sind 1, dann folgt drei Mal 2 usw. Off enbar
haben am Ende zwei der Bean-Objekte den Wert 7, das dritte Objekt muss folglich den
Wert 6 besitzen, denn es wurde 20 Mal der Wert eines Bean-Objekts erhöht. Wenn wir
genau dasselbe Programm nochmals ausführen, ergibt sich auf meinem Notebook die fol-
gende Ausgabe:
8 8
7 9
9 8
10 10
9 11
11 10
12 12
11 13
13 12
14 14
Über die Server-Console lässt sich ablesen, dass dieses Mal keine neuen Objekte erzeugt
werden. Der EJB-Container ist also off enbar der Auff assung, dass er mit den drei im Pool
vorhandenen Objekten auskommt. Wie man sieht, wird das Objekt, das als einziges noch
den Wert 6 hatte, beim zweiten Aufruf über den ersten Stub verwendet und erhält dadurch
auch den Wert 7.
Das Beispiel zeigt, dass das Verhalten bei der Nutzung einer Stateless Bean in diesem Fall
relativ schwer kalkulierbar ist. Es sollte beachtet werden, dass niemals behauptet wurde,
 
Search WWH ::




Custom Search