Beispiel: Stateful Session Bean
Beispiel für eine Stateful Session Bean, auf die per Webclient zugegriffen wird. Als Basis
wird die Stateless Session Bean des vorherigen Beispieles verwendet.
Wichtiger Hinweis: Da hier die gleiche Bean wie im vorherigen Beispiel
unter dem gleichen JNDI-Namen verwendet wird, MUSS diese vorher aus dem Server entfernt werden! Alternativ könnte man hier
einen anderen JNDI-Namen verwenden.
Aufbau des Beispieles
Alle Berechnungen, die der aktuelle User durchführte, werden in einer Server-Session gespeichert
und ihm jedesmal angezeigt.
Bestandteile:
a) Stateless Bean-Klasse mit Remote-Interfaces aus dem letzten Beispiel.
b) Stateful Bean für das Speichern aller in der Session durchgeführten Berechnungen.
c) Webclient
Deploy der StatelessBean "GeometricModel"
Schritt 1: Einstellungen siehe Screenshot. Die Dateien der Stateful
Bean sowie "InvalidParameterException" werden hier ebenfalls ausgewählt.
Schritt 2: Bean-Klasse sowie die Remote-Interfaces auswählen.
Deploy der StatefulBean "GeometricModelStore"
Schritt 1: Neue Bean in dem JAR der Stateless Bean erstellen. Dadurch müssen keine weiteren Dateien
gewählt werden.
Schritt 2: Bean-Klasse sowie die Remote-Interfaces auswählen. Wichtig: Hier muss der Typ
auf "Stateful Session" gestellt werden ! (siehe Screenshot).
Deploy der Web-Anwendung
Schritt 1: Hinzufügen einer neuen Web Componente mit der JSP, Remote Interface
und Remote Home der beiden Beans und der "InvalidParameterException".
Schritt 2: Typ der Komponente ist "JSP Page"
Schritt 3: Als JSP-Filename die einzige JSP-Seite der Anwendung verwenden.
Nachbearbeitung:
In der WebApp folgende EJB-Referenzen zufügen:
"ejb/GeometricModel" referenziert "com.knauf.ejb.stateful.GeometricModelHome" und "com.knauf.ejb.stateful.GeometricModel".
"ejb/GeometricModelStore" referenziert "com.knauf.ejb.stateful.GeometricModelStoreHome" und "com.knauf.ejb.stateful.GeometricModelStore".
Auf der Registerkarte "General" eine Context Root angeben, z.B. "stateful".