Beispiele für ActivitySessions

WebSphere Application Server stellt mehrere Beispiele für ActivitySessions bereit.

Beispiel MasterMind
Dieses Beispiel basiert auf dem Spiel MasterMind. Es besteht aus folgenden Komponenten:
  • Einem Servlet, in dem als ActivitySession-Steuerungstyp "Container" konfiguriert ist und das auf eine Stateful-Session-Bean zugreift.
  • Eine Stateful-Session-Bean, die mit der Aktivierungsrichtlinie ActivitySession konfiguriert wurde und temporäre Daten enthält.

Das Servlet startet bei jedem Start eines neuen Spiels eine HttpSession und beendet sie am Ende jedes Spiels. Daher dauert eine ActivitySession so lange wie ein Spiel. Die Aktivierungsrichtlinie ActivitySession verhindert, dass die Bean passiviert wird, und daher verbleiben die temporären Daten im Speicher. Dieses Beispiel demonstriert die Zuordnung zwischen HttpSession und ActivationSession im Web-Container und eine ActivitySession-bezogene Aktivierungsrichtlinie.

Ein Client-Container für Unternehmensanwendungen und eine CMP-Entity-Bean vor dem Hintergrund einer einphasigen Commit-Datenquelle
In diesem Beispiel wird die Entity-Bean mit folgenden Eigenschaften konfiguriert:
  • TX_NOT_SUPPORTED
  • die containergesteuerte Richtlinie für die ActivitySession ist REQUIRES
  • die LTC-Grenze ist ActivitySession
  • die LTC-Auflösungsteuerung ist ContainerAtBoundary
Der Client ruft die Schnittstelle UserActivitySession auf, startet eine ActivitySession, aktualisiert zwei Instanzen der Bean und beendet anschließend die ActivitySession. Er führt diese Schritte zweimal aus, indem er EndModeReset und dann EndModeCheckpoint verwendet. Dieses Beispiel veranschaulicht die folgende Funktionalität:
  • Clientzugriff auf die Schnittstelle UserActivitySession.
  • Mehrere RMLTs werden der ActivitySession zugeordnet und verwenden automatisch die Ausführungsrichtung dieser ActivitySession.

Die Entity-Bean enthält außerdem eine temporäre Variable, die bei jedem Methodenaufruf (Abrufen (get) und Festlegen (set) von temporären Daten) erhöht wird. Dieser Wert wird vor dem Ende der ActivitySession überprüft, um zu zeigen, dass dieselbe Bean-Instanz verwendet wird. Der Client prüft, ob die richtigen Ergebnisse zurückgegeben werden.

Ein Client-Container für Unternehmensanwendungen und zwei Session-Beans mit unterschiedlichen ActivitySession-Typen
Dieses Beispiel setzt sich aus einem Client-Container für Unternehmensanwendungen und den folgenden Session-Beans zusammen:
  • SLB1, eine Stateless-Session-Bean, die mit dem ActivitySession-Typ "Bean" konfiguriert wurde.
  • SFB2, eine Stateful-Session-Bean, die mit dem ActivitySession-Typ "Erforderlich", der LTC-Grenze "ActivitySession", der LTC-Auflösungssteuerung APPLICATION und mit der nicht aufgelösten LTC-Aktion ROLLBACK konfiguriert wurde.

Beide Beans sind mit TX_NOTSUPPORTED konfiguriert.

In diesem Beispiel werden die folgenden Schritte verwendet:
  1. Der Client startet SLB1.
  2. SLB1 ruft die Schnittstelle UserActivitySession auf, startet eine ActivitySession und ruft anschließend eine Methode für SFB2 auf.
  3. SFB2 ruft die Schnittstelle UserActivitySession auf, startet eine ActivitySession und ruft eine Methode für SFB2 auf.
  4. SFB2 ruft eine Verbindung ab (setAutoCommit false) und verwendet anschließend JDBC, um eine einphasige Datenquelle zu aktualisieren.
  5. SLB1 ruft optional eine separate Methode in SFB2 auf, um die Arbeit durch Festschreibung oder Rollback der RMLT abzuschließen.
  6. SLB1 beendet anschließend die ActivitySession mit EndModeCheckpoint.
Dieses Beispiel veranschaulicht die folgende Funktionalität:
  • Die Ausführungsrichtung der ActivitySession ist von der Richtung der RMLTs unabhängig, obwohl ihre Begrenzung (Containment) an die ActivitySession gebunden ist.
  • Der Container, der die nicht aufgelöste Aktion verwendet, wenn eine RMLT nicht abgeschlossen ist.
  • Eine Bean-gesteuerte ActivitySession, die die Schnittstelle UserActivitySession verwendet.

Dieses Beispiel prüft, ob korrekte Ergebnisse geliefert werden, und meldet sie an den Client.


Symbol, das den Typ des Artikels anzeigt. Konzeptartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cas_samps
Dateiname:cas_samps.html