2016-05-04 8 views
1

Betrachten Sie einen Tomcat-Server, auf dem 10 Sitzungen ausgeführt werden. Diese Sitzungen wurden zu unterschiedlichen Zeiten gestartet. Dann wurde der Server neu gestartet. Was passiert beim Serverstart? Wird es Sitzungen, die auf der Festplatte gespeichert wurden, "sehen" (oder nur ansehen)? Wenn ja, was soll danach geschehen?Wie behandelt Tomcat die Sitzung zwischen Neustarts?

  1. Wenn Sitzung für einige Benutzer abläuft; sendet tomcat session invalidated event?
  2. Prüft Tomcat alle Sitzungen auf Ungültigkeit? Wenn ja, wann wird es passieren und wie kann ich dies überprüfen und mitteilen? Wenn keine Sitzungsvalidierung durchgeführt wird, was soll mit Live-Sitzungen geschehen, wie lange sollen sie live bleiben?

Antwort

0

Beantworten Sie Ihre Fragen in einer etwas anderen Reihenfolge. Diese Antwort setzt eine Standard-Tomcat-Konfiguration voraus - d. H. Eine, die den StandardManager mit den Standardoptionen verwendet.

Die persistenten Sitzungen enthalten die letzte aktive Zeit. Wenn Tomcat gestartet wird, werden alle Webanwendungen gestartet. Während des Starts der Webanwendung startet eine Webanwendung den zugehörigen Sitzungsmanager.

Wenn der Sitzungsmanager gestartet wird, werden die permanenten Sitzungen für diese Webanwendung geladen. Wenn jede Sitzung geladen wird, wird das Sitzungsaktivierungsereignis ausgelöst. Außerdem wird die letzte aktive Zeit überprüft, um festzustellen, ob die Sitzung abgelaufen sein muss. Wenn dies der Fall ist, ist die Sitzung zu diesem Zeitpunkt abgelaufen und Tomcat löst das zerstörte Ereignis der Standardsitzung aus.

Sobald die Webanwendung gestartet wurde, überprüft der Hintergrundthread regelmäßig die letzte aktive Sitzung der Sitzung und verfällt bei Bedarf Sitzungen.

+0

Vielen Dank für die schnelle Antwort, könnten Sie bitte einen Link zu der Dokumentation, wo es beschrieben ist, geben? – Cherry

Verwandte Themen