Ich verwende Spring Boot 1.3.6 und Spring Session und Redis als Session-Speicher. Ich muss in der Lage sein, die redisNamespace
für die Anwendung eine Laufzeit festzulegen, und nicht im Code hart-Code. Das heißt, ich kann @EnableRedisHttpSession
nicht verwenden, da das nicht etwas ist, das ich über die Datei applaction.yml
einstellen kann.So konfigurieren Sie Spring Session Redis rediserneNamespace zur Laufzeit
Ich habe Spring Session auf 1.2.1.RELEASE aktualisiert, um die Unterstützung zu bekommen, die ich brauche, aber ich kann nicht scheinen, dass das System den Namespace über die Konfiguration konfiguriert. Ich habe versucht, einen SPEL in der @EnableRedisHttpSession(redisNamespace)
Aufruf verwenden, aber das funktioniert nicht. Ich habe versucht, die RedisHttpSessionConfiguration
über Autowired
injiziert, um es auch zu setzen, und das schien ignoriert worden zu sein. Es gab auch eine andere Referenz in einem anderen SO Post über die Verwendung von spring.session.redis.namespace
als eine Eigenschaft in application.yml
, aber das funktioniert nicht.
Alle Vorschläge/Tipps würden sehr geschätzt werden!
Bitte beachten Sie, dass 'spring.session. *' Konfigurationseigenschaften in Spring Boot 1.4 eingeführt wurden, so dass sie in 1.3 nicht verfügbar sind. OTOH 'spring.session.redis.namespace' Die JVM-Eigenschaft, die in Javvanos Antwort vorgeschlagen wird, funktioniert, da sie [von Spring Session selbst unterstützt] ist (https://github.com/spring-projects/spring-session/blob/master/spring-session) /src/main/java/org/springframework/session/data/redis/config/annotation/web/http/RedisHttpSessionConfiguration.java#L152). –