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

相关推荐
代码改善世界6 小时前
【前瞻创想】Kurator:驾驭分布式云原生世界的“统一舰队”
分布式·云原生
行走正道6 小时前
【前瞻创想】标准之争:论Kurator在分布式云原生API标准化中的潜在角色
分布式·api·kurator·标准化·策略驱动
代码改善世界6 小时前
【探索实战】从零到一:Kurator 构建分布式云原生平台的探索与实践
分布式·云原生
9***Y487 小时前
后端在分布式中的Apache Kafka
分布式·kafka
初学者,亦行者7 小时前
【前瞻创想】集成与创新并举,引领分布式云原生新范式
分布式·云原生
i***58677 小时前
【RabbitMQ】超详细Windows系统下RabbitMQ的安装配置
windows·分布式·rabbitmq
小马过河R7 小时前
tRPC-GO 框架Helloworld实践初体验
开发语言·分布式·后端·架构·golang·gin·beego
小程故事多_807 小时前
Kthena 引爆云原生推理革命:K8s 分布式架构破解 LLM 编排困局,吞吐狂飙 273%
人工智能·分布式·云原生·kubernetes·aigc
西岭千秋雪_7 小时前
Kafka服务端日志梳理
java·分布式·zookeeper·kafka
初学者,亦行者8 小时前
【探索实战】从 30 分钟搭建到生产落地,分布式云原生管理新范式
分布式·云原生