为实现分布式部署,实现session共享,即使在开发环境中经常重启服务已不用担心重新登录的问题。
方案选择
方案一:在容器上做配置
方案二:在应用上做配置
考虑到上线后容器可能会更换,或版本不容带来的问题,采用第二种方案
配置
添加依赖
     <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-redis</artifactId>
        <version>1.5.2.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.session</groupId>
        <artifactId>spring-session</artifactId>
        <version>1.2.0.RC2</version>
    </dependency>
在web.xml中添加filter并放在最外层。
<filter>
    <filter-name>springSessionRepositoryFilter</filter-name>
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
    <filter-name>springSessionRepositoryFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
在spring配置中添加
    <bean class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration"/>
<bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
    <property name="hostName" value="${redis.host}"/>
    <property name="timeout" value="${redis.timeout}"/>
</bean>
启动项目,检查redis中session存储及过期时间。