webForumDet fria alternativet

session

2 svar · 244 visningar · startad av jme

jmeMedlem sedan maj 20011 967 inlägg
#1

Hej!

Jag har lite funderingar över klassen HttpSession.
I JavaDoc kan jag se att klassen har bl a följande metoder:
getMaxInactiveInterval() samt setMaxInactiveInterval(int).

Som jag förstår så används dessa metoder för att kontrollera samt sätta en session-variabels livslängd.

Men vad betyder egentligen "maximum time interval"?

Som jag förstår så ifall jag besker en sida som kör med:

session = request.getSession();
session.setMaxInactiveInterval(10); // 10 sekunder

så skall session-variabeln bli gammal om "inget händer" på sidan under en period på 10 sekunder.

Jag har testat detta men nog fan finns sessionen kvar efter 10 sekunder. vad är det jag missar?

ViktorMedlem sedan aug. 20021 710 inlägg
#2

Jag har testat lite och det verkar som att det tar ca 30 sekunder extra för session att bli inaktiv. Jag kan bara gissa varför det är så och min gissning är att det finns 1 cleaner tråd som kollar om någon session är för gammal och den körs bara var 30'e sekund.
Man kan kanske i någon config fil ställa in hur ofta sessions ska städas bort. Men i vanliga fall brukar ju 30 sekunder extra vara helt OK.

/Viktor

jmeMedlem sedan maj 20011 967 inlägg
#3

Tack!

Såg själv sen att sessionen faktiskt blev gammal.

127 ms totalt · 3 externa anrop · cache AV · v20260731051352-full.56cc9887
0 ms — hämta statistik (cache)
0 ms — hämta forumlista (cache)
125 ms — hämta tråd, inlägg och bilagor (db)