2015-09-10 15 views
8

Moja aplikacja obecnie używa Spring Session wraz z Redis jako zapleczem.Jaki jest domyślny limit czasu sesji i jak go skonfigurować, gdy używasz sesji wiosennej z Redis jako zapleczem?

Przeszukałem numer official documentation dla sesji wiosennej, ale nie udało mi się ustalić, jaki jest domyślny limit czasu sesji podczas korzystania z tego modułu.

Również nie jestem pewien, jak zmienić ten domyślny limit czasu, jeśli to konieczne.

Czy ktoś może doradzić?

Odpowiedz

15

Najprostszym sposobem, aby skonfigurować limit czasu sesji przy użyciu Redis repozytorium jest

@EnableRedisHttpSession(maxInactiveIntervalInSeconds = 60) 

Sesja wygasa kiedy nie jest już dostępny w repozytorium. Limit czasu można skonfigurować za pomocą setDefaultMaxInactiveInterval(int) na obu RedisOperationsSessionRepository i MapSessionRepository. Domyślna wartość to 30 minut.

Jeśli używasz rozruchu sprężynowego, to od wersji 1.3 automatycznie zsynchronizuje wartość z właściwością server.session.timeout z konfiguracji aplikacji.

Należy zauważyć, że jednym z niedociągnięć podczas sesji wiosennej jest to, że nie są wywoływane javax.servlet.http.HttpSessionListener s.

Jeśli chcesz zareagować na zdarzenia związane z wygaśnięciem sesji, możesz zasubskrybować zdarzenie aplikacyjne aplikacji wiosennej na SessionDestroyedEvent.

+2

Masz na myśli 30 minut? – balteo

+0

@balteo tak to jest 30 minut, a nie sekund. Zaktualizowałem odpowiedź dzięki. – tsachev

Powiązane problemy