webForumDet fria alternativet

session

Java

2 svar · 244 visningar · startad av jme

Medlem sedan maj 20012 237 inlägg
Frågan#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?

Medlem sedan aug. 20021 752 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

Medlem sedan maj 20012 237 inlägg
#3

Tack!

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

254 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)