Java Reference
In-Depth Information
Listing 13.4 Sleep-Schnittstelle
package javacomp.ejb.sleep.server;
import javax.ejb.Remote;
@Remote
public interface Sleep
{
public void sleep(int secs);
}
Die Implementierung ist sehr einfach. Es wird einfach die statische Methode sleep der
Klasse Thread benutzt, um die gewünschte Ausführungsdauer zu realisieren. Diese Methode
erwartet die Zeitangabe jedoch in Millisekunden; deshalb wird der Parameter mit 1000
multipliziert. In Listing 13.5 ist die Stateless-Variante der Methode zu sehen. Wie im letzten
Abschnitt gibt es aber zu dieser Klasse auch wieder die Stateful- und Singleton-Varianten.
Listing 13.5 Sleep-Implementierung in Form einer Stateless-Bean-Klasse
package javacomp.ejb.sleep.server;
import javax.ejb.Stateless;
@Stateless(mappedName="StatelessSleep")
public class StatelessSleepImpl implements Sleep
{
public void sleep(int secs)
{
try
{
Thread.sleep(secs * 1000);
}
catch(InterruptedException e)
{
}
}
}
Der Sleep-Client, dessen Code in diesem Buch nicht abgedruckt wird, den Sie aber über die
Web-Seite zum Buch beziehen können, erzeugt mehrere Threads, die jeweils die Sleep-
Methode auf dem Bean aufrufen. Es werden für alle Bean-Arten jeweils zwei Varianten
realisiert: Einmal wird vor der Erzeugung der Threads ein einziges Mal lookup aufgerufen
und allen Threads wird dieses eine von lookup zurückgelieferte Stub-Objekt übergeben,
womit alle Threads mit demselben Stub-Objekt arbeiten. In der zweiten Variante führt jeder
Thread selbstständig sein eigenes Lookup zu Beginn durch, so dass jeder Thread somit
seinen eigenen Stub benutzt. Für die drei Bean-Sorten kann man aufgrund der Ausgaben
der Threads Folgendes feststellen:
! Stateless Bean: Sinn und Zweck der Stateless Beans ist es gerade, durch eine genügend
große Zahl von Bean-Objekten möglichst uneingeschränkte Parallelität zu ermöglichen.
Entsprechend erkennt man auch bei der Verwendung des Stateless Beans, dass alle Sleep-
Aufrufe parallel ausgeführt werden. Dies stimmt allerdings nur bis zu einer gewissen
Zahl an Threads. Wenn man die Zahl sehr stark erhöht, erkennt man, dass manche Auf-
 
Search WWH ::




Custom Search