Wie lautet das Standard-Sitzungszeitlimit und wie wird es konfiguriert, wenn die Spring Session mit Redis als Back-End verwendet wird?

8

Meine Anwendung verwendet derzeit die Spring-Sitzung zusammen mit Redis als Back-End.

Ich habe in der offiziellen Dokumentation nach Spring Session gesucht, aber war nicht in der Lage zu finden, was das Standard-Session-Timeout bei Verwendung dieses Moduls ist.

Ich bin mir auch nicht sicher, wie ich dieses Standard-Timeout bei Bedarf ändern kann.

Kann jemand bitte beraten?

    
balteo 10.09.2015, 12:11
quelle

1 Antwort

15

Die einfachste Methode zum Konfigurieren des Sitzungszeitlimits bei Verwendung des redis-Repositorys ist

%Vor%

Die Sitzung läuft ab , wenn sie im Repository nicht mehr verfügbar ist. Timeout kann mit setDefaultMaxInactiveInterval(int) sowohl für RedisOperationsSessionRepository als auch für MapSessionRepository konfiguriert werden. Der Standardwert ist 30 Minuten .

Wenn Sie Springboot verwenden, wird der Wert ab Version 1.3 automatisch mit der Eigenschaft server.session.timeout aus der Anwendungskonfiguration synchronisiert.

Beachten Sie, dass einer der Nachteile bei der Verwendung der Spring-Sitzung darin besteht, dass javax.servlet.http.HttpSessionListener s nicht aufgerufen wird.

Wenn Sie auf Ereignisse zum Ablauf der Sitzung reagieren müssen, können Sie das SessionDestroyedEvent -Anwendungsereignis Ihrer Spring-Anwendung abonnieren.

    
tsachev 11.09.2015, 22:44
quelle