0

我正在使用 spring-session + redis,如此处所述:http: //docs.spring.io/spring-session/docs/current/reference/html5/guides/httpsession-xml.html

如何配置 RedisHttpSessionConfigure 以便本地开发不需要 redis 并且应用程序将简单地默认为容器会话处理?

4

1 回答 1

1

通常不建议这样做,因为您的开发环境与生产环境不同。将您的开发机器指向一个 Redis 实例应该很简单。

如果需要支持,可以使用Spring profiles。例如,对于 XML,您可以使用以下内容:

<beans profile="dev">
    <bean id="springSessionRepositoryFilter" class="org.springframework.web.filter.CharacterEncodingFilter"/>
</beans>

<beans profile="production">
    <context:annotation-config/>
    <bean class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration"/>
    <bean class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"/>
</beans>

关键是要确保你的开发环境也有一个实现过滤器的 Bean,名为springSessionRepositoryFilter. 在这个例子中,我使用CharacterEncodingFilter了 which 应该什么都不做,因为 encoding 属性没有设置,但可以随意替换为你喜欢的任何内容。

接下来你需要做的是激活你的环境。例如,您可以使用

-Dspring.profiles.active="production"
于 2015-08-10T15:57:16.427 回答