spring-session-data-redis使用redis共享session

1:添加jar包

<dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-redis</artifactId>
            <version>2.0.3.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>2.9.0</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.session</groupId>
            <artifactId>spring-session-data-redis</artifactId>
            <version>2.0.1.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-pool2</artifactId>
            <version>2.4.2</version>
        </dependency>

2:配制

  

    <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
        <property name="maxTotal" value="${utils.redis.maxTotal}" />
        <property name="maxIdle" value="${utils.redis.maxIdle}" />
        <property name="timeBetweenEvictionRunsMillis" value="${utils.redis.timeBetweenEvictionRunsMillis}" />
        <property name="minEvictableIdleTimeMillis" value="${utils.redis.minEvictableIdleTimeMillis}" />
        <property name="testOnBorrow" value="${utils.redis.testOnBorrow}" />
    </bean>


    <bean id="jedisConnFactory"
        class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
        <property name="hostName" value="${utils.redis.host}" />
        <property name="port" value="${utils.redis.port}" />
        <property name="password" value="${utils.redis.pass}" />
        <property name="database" value="${utils.redis.database}" />
        <property name="timeout" value="${utils.redis.timeout}" />
        <property name="poolConfig" ref="jedisPoolConfig" />
        <property name="usePool" value="true" />
    </bean>

<!--去掉redis client的CONFIG--> <util:constant static-field="org.springframework.session.data.redis.config.ConfigureRedisAction.NO_OP"/> <bean class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration"> <property name="maxInactiveIntervalInSeconds" value="3600" /> </bean>

3:配制xml的filter,最好放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>

总结:就这么简单,session可以正常使用了

原文地址:https://www.cnblogs.com/feiyun126/p/8431325.html