habe ich ein Projekt mit Frühlings-Boot 1.3.3 [andere Sachen] und Redis konfiguriert Sitzungen zu verwalten, das heißt, @EnableRedisHttpSession. Die Anwendung funktioniert gut und speichert die Informationen regelmäßig auf Redis. Das Problem, das ich konfrontiert bin, ist, dass, anders als die Dokumentation sagt, ob ich eine server.session.timeout definieren, die Redis verwendet immer den Standardwert für seine Annotation-Attribut (maxInactiveIntervalInSeconds) ist :@EnableRedisHttpSession + Frühling Stiefel ignorieren server.session.timeout auf application.yml
hier ist die Dokumentation, die ich gefolgt: http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-session.html
ich habe auch den Ansatz von @rwinch hier https://github.com/spring-projects/spring-session/issues/110 aber auch ohne Erfolg definiert versucht.
Aktualisierung ......
Meine Konfigurationsdatei wie gewünscht:
#First attempt (server.session.timeout) following the Spring documentation mentioned
server:
session:
timeout: 10
spring:
#session timeout under spring (as mentioned by M Deinum in comment - unfortunately doesnt work)
session:
timeout: 10
redis:
host: 192.168.99.101
port: 6379
Daneben habe ich auch versucht, eine SessionListener zu implementieren, die verantwortlich war Einstellen der Zeitüberschreitung (in etwa):
public class SessionListener implements HttpSessionListener {
@Value(value = "${server.session.timeout}")
private int timeout;
@Override
public void sessionCreated(HttpSessionEvent event) {
if(event!=null && event.getSession()!=null){
event.getSession().setMaxInactiveInterval(timeout);
}
}
...
Es hat immer noch nicht zu einem korrekten Szenario geführt. Ich zerbringe mir wirklich den Kopf: |
Bitte Leute, vermisse ich einen Punkt? Hat jemand anderes es gesehen?
Vielen Dank im Voraus.
Fügen Sie Ihre Konfiguration hinzu. –
Statt 'server.session.timeout' verwenden Sie' spring.session.timeout'. –
@ m-deinum danke für deine hilfe, leider ist das problem immer noch passiert. –