分布式session共享配置

目录

1、spring-session

[1.1 添加依赖](#1.1 添加依赖)

[1.2 spring-mvc.xml配置文件](#1.2 spring-mvc.xml配置文件)

[1.3 web.xml](#1.3 web.xml)

2、tomcat配置session、共享

[2.1 Tomcat配置](#2.1 Tomcat配置)

[2.2 Web.xml配置](#2.2 Web.xml配置)


1、spring-session

官方文档:https://docs.spring.io/spring-session/docs/1.3.0.RELEASE/reference/html5/

1.1 添加依赖

<dependency>

<groupId>org.springframework.session</groupId>

<artifactId>spring-session-data-redis</artifactId>

<version>1.2.0.RELEASE</version>

</dependency>

1.2 spring-mvc.xml配置文件

<!-- 将session放入redis -->

<context:annotation-config/>

<bean id="redisHttpSessionConfiguration" class="org.springframework.session.data.redis.config.annotation.web.http.RedisHttpSessionConfiguration" >

<property name="maxInactiveIntervalInSeconds" value="120" />

</bean>

<bean

class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">

<!-- redis 配置 -->

<property name="hostName" value="192.168.0.48" />

<property name="port" value="6379" />

</bean>

1.3 web.xml

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:spring-mvc.xml</param-value>

</context-param>

<!-- 分布式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了。

注意:

1)spring的这个配置文件一定要写在web.xml的<context-param>部分,写在其他地方不行。

2)filter的名字必须是springSessionRepositoryFilter

3)如果使用了shiro,web.xml中一定要把<context-param>放在最前面,然后写shiro的Filter配置,再写spring-session的Filter配置。后面就是其他的编码和servlet配置了。

2、tomcat配置session、共享

要求Tomcat7,tomcat8不支持

2.1 Tomcat配置

编辑${TOMCAT_HOME}/conf/context.xml,在context中加入

<!-- tomcat-redis-session共享配置 -->

<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />

<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"

host="localhost"

port="6379"

password="123456"

database="0"

maxInactiveInterval="60" />

Tomcat安装lib目录添加以下jar包:

2.2 Web.xml配置

<!-- 30分钟无操作,session失效 linux下有时单位为秒 -->

<session-config>

<session-timeout>30</session-timeout>

</session-config>

相关推荐
wanhengidc14 小时前
服务器托管对企业的作用
大数据·运维·服务器·分布式·智能手机
Code知行合壹14 小时前
Spark使用总结
大数据·分布式·spark
Swift社区14 小时前
分布式能力不是功能,而是一种架构约束
分布式·架构
0xDevNull14 小时前
Apache Kafka 完全指南
分布式·kafka
zb2006412015 小时前
RabbitMQ 客户端 连接、发送、接收处理消息
分布式·rabbitmq·ruby
半桶水专家16 小时前
Kafka JMX详解
分布式·kafka
渔民小镇16 小时前
告别 if-else 地狱 —— JSR380 参数验证在 ionet 中的应用
java·服务器·分布式·游戏
智慧科技的海洋16 小时前
微电网智慧平台:破解能源困局的分布式能源革命
分布式·能源
深蓝轨迹16 小时前
Redisson 分布式锁复习总结
分布式
yashuk17 小时前
RabbitMQ高级特性----生产者确认机制
分布式·rabbitmq