Hi,
hab momentan ein kleines Problem mit der Zeit der Sessions.
Wie kann ich die Zeit einstellen?
Ich hätt es gern so, dass die Session so lange lebt, wie der Browser offen ist.
cu Desian
Hi,
hab momentan ein kleines Problem mit der Zeit der Sessions.
Wie kann ich die Zeit einstellen?
Ich hätt es gern so, dass die Session so lange lebt, wie der Browser offen ist.
cu Desian
Moin,
probier es mal in der web.xml mit
30
Siehe
http://java.sun.com/products/servlet/2.3/javadoc/jav…
Wichtig ist da die Beschreibung von setMaxInactiveInterval.
Gruss, Patrick
Hallo,
hab momentan ein kleines Problem mit der Zeit der Sessions.
Wie kann ich die Zeit einstellen?
Bei Tomcat4 gehts entweder in der web.xml (Zeit in Minuten):
10
oder du schreibst es direkt in die JSP-Seite rein:
HttpSession httpSession = request.getSession(); httpSession.setMaxInactiveInterval(600000);
Ich hätt es gern so, dass die Session so lange lebt, wie der
Browser offen ist.
Da du nicht weißt, wann der Benutzer den Browser schließt, ist das leider nicht ohne weiteres möglich.
mfg deconstruct
Danke euch, so ging’s.
cu Desian
Du kannst uebrigens den Wert in auf 0 oder z.B -1
setzen, um die Session niemals invalid werden zu lassen.
„If the timeout is 0 or less, the container ensures the default
behaviour of sessions is never to time out.“
(Siehe Servlet 2.3 Spec unter Deployment Descriptor, SRV DTD)
Gruss, Patrick
Danke euch, so ging’s.
cu Desian
Hallo,
Du kannst uebrigens den Wert in auf 0
oder z.B -1
setzen, um die Session niemals invalid werden zu lassen.„If the timeout is 0 or less, the container ensures the
default
behaviour of sessions is never to time out.“
Das halte ich eher für einen weniger gute Idee. Auf diese Art und Weise sammelst du nämlich mit der Zeit immer mehr Sessions, die nicht mehr gebraucht werden im Speicher des Servers. Nur eine Frage der Zeit, bis der Speicher dann voll ist.
mfg
deconstruct
Das halte ich eher für einen weniger gute Idee. Auf diese Art
und Weise sammelst du nämlich mit der Zeit immer mehr
Sessions, die nicht mehr gebraucht werden im Speicher des
Ja, das ist in der Tat mistig. Weisst du zufaellig warum die
Sessions scheinbar auch erhalten bleiben, nachdem ich den Tomcat
neu gestartet habe (zumindest laut tomcat/manager)?
Die Sessions werden da auch nach einem Neustart weiterhin
hochgezaehlt.
Gruss, Patrick
Hallo,
Das halte ich eher für einen weniger gute Idee. Auf diese Art
und Weise sammelst du nämlich mit der Zeit immer mehr
Sessions, die nicht mehr gebraucht werden im Speicher desJa, das ist in der Tat mistig. Weisst du zufaellig warum die
Sessions scheinbar auch erhalten bleiben, nachdem ich den
Tomcat
neu gestartet habe (zumindest laut tomcat/manager)?
Die Sessions werden da auch nach einem Neustart weiterhin
hochgezaehlt.
Hmm, wie führst du denn den „Neustart“ durch? Im Manager die Application einfach stoppen und wieder starten, oder beendest du den kompletten Tomcat-Prozess?
In ersterem Fall werden zwar die Sessions weitergezählt, aber dies hat eigentlich keine Bedeutung, da man nicht mehr auf sie zugreifen kann. Sie sind also praktisch nicht mehr existent und schlummern nur noch bis zu ihrem Timeout friedlich dahin.
In letzterem Fall sollte eigentlich die Zählung wieder bei 0 beginnen, zumal ja in diesem Fall auch die Manager-Applikation neu gestartet wird.
mfg
deconstruct
zugreifen kann. Sie sind also praktisch nicht mehr existent
und schlummern nur noch bis zu ihrem Timeout friedlich dahin.
Also haben sie doch einen Timeout?! Ich habe diesen doch explicit
auf 0 gesetzt.
In letzterem Fall sollte eigentlich die Zählung wieder bei 0
beginnen, zumal ja in diesem Fall auch die Manager-Applikation
Ich starte den Tomcat komplett neu, incl. saemtlicher Browserfenster.
Genau das hat mich eben verwundert, woher er dann die Zahl nimmt.
Gruss, Patrick
zugreifen kann. Sie sind also praktisch nicht mehr existent
und schlummern nur noch bis zu ihrem Timeout friedlich dahin.Also haben sie doch einen Timeout?! Ich habe diesen doch
explicit auf 0 gesetzt.
Nein, natürlich nur wenn du einen Timeout eingestellt hast. Ansonsten bleiben sie natürlich bestehen.
In letzterem Fall sollte eigentlich die Zählung wieder bei 0
beginnen, zumal ja in diesem Fall auch die Manager-ApplikationIch starte den Tomcat komplett neu, incl. saemtlicher Browserfenster.
Genau das hat mich eben verwundert, woher er dann die Zahl
nimmt.
Ich hab mal nochmal in der Doku nachgelesen. Tomcat speichert die bestehenden Sessions beim Beenden auf der Festplatte ab und lädt sie wieder wenn er gestartet wird. Wenn du das ganze deaktivieren willst musst du die PersistenceManager-Sektion in der conf/server.xml auf folgende Werte stellen und Tomcat restarten:
mfg
deconstruct