分布式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>

相关推荐
程序猿阿伟5 小时前
《分布式追踪Span-业务标识融合:端到端业务可观测手册》
分布式
消失的旧时光-19437 小时前
第十六课实战:分布式锁与限流设计 —— 从原理到可跑 Demo
redis·分布式·缓存
若水不如远方7 小时前
分布式一致性(三):共识的黎明——Quorum 机制与 Basic Paxos
分布式·后端·算法
会算数的⑨8 小时前
Kafka知识点问题驱动式的回顾与复习——(一)
分布式·后端·中间件·kafka
张小凡vip8 小时前
Kafka--使用 Kafka Connect 导入/导出数据
分布式·kafka
回忆是昨天里的海8 小时前
kafka概述
分布式·kafka
知识即是力量ol8 小时前
初识 Kafka(一):分布式流平台的定义、核心优势与架构全景
java·分布式·kafka·消息队列
nbsaas-boot9 小时前
Pipeline + Saga 分布式扩展规范
分布式
creator_Li9 小时前
分布式IM聊天系统的消息可靠性
分布式·im
一条闲鱼_mytube9 小时前
《分布式事务实战完全指南》:从理论到实践
分布式