SpringSessionRedis配置及发现的问题讲解
程序员文章站
2024-02-28 12:59:16
最近写项目,需要把session放入redis中,来实现分布式。我本来要用tomcat部署redis这种方法,但是依赖于容器了。无意中发现了springsession,这可...
最近写项目,需要把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版本以上
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接
上一篇: Java 线程死锁的问题解决办法
下一篇: Java List 用法实例详解
推荐阅读
-
SpringSessionRedis配置及发现的问题讲解
-
基于javaWeb 项目SSM配置要点及可能遇到的问题和解决方法
-
SpringSessionRedis配置及发现的问题讲解
-
Oracle配置OneMap中的sql数据库问题及解决方案
-
安装、配置和测试Asterisk过程中遇到的问题及解决方法
-
MySQL集群架构及配置过程中出现问题的解决
-
Oracle配置OneMap中的sql数据库问题及解决方案
-
IDEA中已配置阿里镜像但maven无法下载jar包的问题及解决方法
-
Unix下配置Scheduler的过程及出现问题的解决
-
AndroidStudio2.3.3安装、配置及NDK、Cmake配置遇到的问题汇总