Zugriff auf Sitzungsdaten serialisieren

Die Servlet-API unterstützt den parallelen Zugriff auf eine Sitzung in einer bestimmten Serverinstanz. WebSphere Application Server bietet eine Option an, mit der der gleichzeitige Zugriff auf eine Sitzung in einer bestimmten Serverinstanz verhindert werden kann, damit es nicht zu parallelen Änderungen einer Sitzung kommt.

Informationen zu diesem Vorgang

Diese parallelen Veränderungen werden durch die sitzungsbasierte Synchronisierung der Anforderungen verhindert. Wenn Sie diese Option aktiviert haben, wird für die Anforderung eine Sitzung angefordert, bevor das Servlet aufgerufen wird, und die Anforderungen werden synchronisiert, indem die Sitzung für die Initialisierung des Servlets gesperrt wird. Beachten Sie, dass die Synchronisation auf der Grundlage der Speicherkopie der Sitzung erfolgt. Diese Funktion kann also keine serverübergreifenden Anforderungen auf Sitzungsbasis serialisieren, wenn die Sitzungsaffinität scheitert.

Die Sitzungsobjekte in Servlets und JSP-Dateien können auch mit der Funktion "Zugriff auf Sitzungsdaten serialisieren" synchronisiert werden. Anwendungen können Sitzungsobjekte in Servlets und JSP-Dateien nicht synchronisieren, weil sonst ein Deadlock mit dem Sitzungsmanager auftreten kann. Das Deadlock tritt auf, weil der Sitzungsmanager die Verwendung mehrerer Sperrmechanismen nicht erwartet. Mit der Konfigurationsoption "Seriellen Zugriff zulassen" können Sie sicherstellen, dass jeweils nur eine Anforderung auf die Sitzung zugreift.

Verwenden Sie diese Funktion nur, wenn die gleichzeitige Änderung derselben Sitzungsdaten möglich ist, aber von der Anwendung nicht gewünscht ist. Diese Funktion erzeugt bei der Serialisierung der Anforderungen für eine Sitzung Systemaufwand.

Gehen Sie zum Synchronisieren des Sitzungszugriffs wie folgt vor:

Vorgehensweise

  1. Wählen Sie die Stufe der Sitzungsverwaltung aus, auf der der Sitzungszugriff serialisiert werden soll.
  2. Klicken Sie unter "Sitzungszugriff serialisieren" auf Serialisierten Zugriff zulassen.
  3. Geben Sie im Feld "Maximale Wartezeit" die Zeit in Millisekunden ein, die die Ausführung eines Servlet in einer Sitzung gestoppt wird. Die Standardeinstellung sind 120.000 Millisekunden oder zwei Minuten.
  4. Wählen Sie Zugriff bei Zeitlimitüberschreitung zulassen aus, wenn das Servlet auch bei einer Sperrung der Sitzung durch ein anderes Servlet auf die Sitzung zugreifen können und normal weiter ausgeführt werden soll. Wenn Sie diese Option nicht auswählen, wird die Ausführung des Servlet bei Überschreitung des Zeitlimits für Sitzungsanforderung abgebrochen.
  5. Klicken Sie auf Anwenden.
  6. Klicken Sie auf Speichern.

Symbol, das den Typ des Artikels anzeigt. Taskartikel



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