Session共享的方式有很多种,我们今天要说的是一种轻量级的session共享方案-SpringSession。
其实单说SpringSession的配置,极其简单。本章节也准备讲的太多,先说下配置。具体如下:
首先,要在web.xml中配置一个过滤器,注意:这个过滤器必须在所有过滤器之前:
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>
其次,需要配置springSessionRepositoryFilter,从以下配置没有发现这个filter对象。原因是RedisHttpSessionConfiguration中使用了注解的方式定义的bean及注入。
<!-- springsession Session共享配置 -->
<bean class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration"/>
<bean id="connectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
<!-- redis 单点配置
<property name="hostName" value="${redis.hostName}"/>
<property name="port" value="${redis.port}"/>
-->
<!-- redis单点连接池配置 -->
<property name="usePool" value="true" />
<property name="shardInfo">
<bean class="redis.clients.jedis.JedisShardInfo">
<constructor-arg index="0" value="${redis.hostName}"/>
<constructor-arg index="1" value="redis1"/>
<constructor-arg index="2" value="${redis.port}"/>
<constructor-arg index="3" value="30"/>
<constructor-arg index="4" value="1"/>
</bean>
</property>
<!--默认为true <property name="usePool" value="true" /> -->
<!-- redis cluster集群连接池配置
<constructor-arg index="0" ref="redisClusterConfig" />
<constructor-arg index="1" ref="poolConfig" />
-->
</bean>
到此,关于配置的地方已经完毕。咱们下一章节,在进行详细的讲解!