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

相关推荐
风吹夏回8 天前
RabbitMQ 核心术语 + Python pika 方法完整讲解
分布式·python·rabbitmq
风吹夏回8 天前
RabbitMQ 三种模式入门:HelloWorld、WorkQueue、PubSub
分布式·rabbitmq·ruby
霸道流氓气质8 天前
分布式追踪与 RequestId 传播完全指南
分布式
cheems95278 天前
[RabbitMQ高级特性] 消息确认机制:从 Ready / Unacked 到 basicAck、basicReject、basicNack 的底层拆解
分布式·rabbitmq·ruby
枫华落尽8 天前
【Hadoop01-完全分布式运行模式】
分布式
隔壁阿布都8 天前
ShedLock 分布式定时任务锁框架介绍
spring boot·分布式
文艺倾年8 天前
【强化学习】数学推导专题,20W字总结(十五)
人工智能·分布式·大模型·强化学习·vibecoding
ACP广源盛139246256738 天前
GSV9001S@ACP#1080P 级视频处理芯片,物理 AI 普及终端的高性价比选择
大数据·人工智能·分布式·嵌入式硬件·spark
guslegend8 天前
第1章:初始Kafka
分布式·kafka
ACP广源盛139246256738 天前
GSV5600@ACP#多接口协议转换芯片,物理 AI 便携终端的互联核心
大数据·人工智能·分布式·嵌入式硬件·spark