2016-07-15 22 views
0

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!

+0

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). –

Antwort

1

Ich legte einfach eine -Dspring.session.redis.namespace=myKeyName VM-Argumente. und es funktioniert gut.

enter image description here

und ich bin mit Federverschluß v1.3.5.RELEASE und Frühlingssession 1.2.0.RELEASE.

Verwandte Themen