SpringSessionRedis配置及发现的问题

来源:互联网 发布:小丸压制软件 编辑:程序博客网 时间:2024/06/07 02:33

最近写项目,需要把session放入Redis中,来实现分布式。我本来要用Tomcat部署Redis这种方法,但是依赖于容器了。无意中发现了SpringSession,这可挺不错的,写完了发现不好用,问度娘也没弄明白,最后我写了2个demo一个springMVC的,一个Spring整合struts2的,发现SpringSession需要SpringMVC的支持。也就是说我的项目用不了了。

先说说springsession的配置吧:

一、Maven中pom.xml文件中添加(选一种添加上就行):

<span style="white-space:pre"></span><!--1、redis-整合--><dependency>    <groupId>org.springframework.session</groupId>    <artifactId>spring-session-data-redis</artifactId>    <version>1.0.2.RELEASE</version></dependency><!-- 2、Redis --><dependency>    <groupId>org.springframework.data</groupId>    <artifactId>spring-data-redis</artifactId>    <version>1.4.2.RELEASE</version></dependency> <dependency>    <groupId>redis.clients</groupId>    <artifactId>jedis</artifactId>    <version>2.5.2</version></dependency><dependency>       <groupId>org.springframework.session</groupId>       <artifactId>spring-session</artifactId>       <version>1.0.2.RELEASE</version></dependency><dependency>      <groupId>org.apache.commons</groupId>      <artifactId>commons-pool2</artifactId>      <version>2.2</version></dependency>
二、在spring配置文件(applicationContext.xml)中添加代码:

<span style="white-space:pre"></span><!-- 自动扫描 --> <context:annotation-config/><!-- 配置spring-session --><bean class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration"> <!-- 过期时间100分钟 --><property name="maxInactiveIntervalInSeconds" value="6000"></property></bean>  <!-- redis连接池 --> <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig" /> <bean  id="jedisConnectionFactory"  class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"  >      <property  name="hostName"  value="10.4.120.180" />      <property  name="port"  value="6379" />      <property  name="poolConfig"  ref="jedisPoolConfig" />  </bean>  
三、在web.xml中添加过滤即可:

<span style="white-space:pre"></span><!-- Spring Session的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-config><session-timeout>30</session-timeout></session-config> 
这样就自动将session放入到reids库中了。

补充:

Spring的版本为4.1.6以上

javax.servlet-api需要3.0.1版本以上



1 0
原创粉丝点击