SSH之传统方式接入分布式会话(Spring Session)篇
来源:互联网 发布:大数据需要掌握的技术 编辑:程序博客网 时间:2024/06/05 10:54
背景
由于项目业务发展越来越快,开发人员越来越多;导致传统一个项目模块开发方式效率低下并且系统性能瓶颈凸显慢慢需要考虑采用分布式/微服务体系进行解耦解决各种性能与效率的问题;但在分布式环境中会碰到各种各样的问题需要解决,比较典型的就是会话管理了,这篇只针对会话管理进行展开。
说明
Maven依赖
<dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId> <version>1.2.2.RELEASE</version> <type>pom</type></dependency>
配置注解
在全局可以扫描到的地方创建一个类,加入注解@EnableRedisHttpSession,告诉Spring开启利用Redis存储Session方案;具体表现在SpringHttpSessionConfiguration类99行中(初始化SessionRepositoryFilter)。
package com.livenaked.hub.common;import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;/*** 全局配置类* @author cary* @date 2016/11/24*/@EnableRedisHttpSessionpublic class AppConfiguration {}
配置Redis的连接池
我这里采用XML配置方式,实际上可以把这段配置可以以注解的形式写进上面全局配置类中。
<!-- Redis Connection Pool --><bean class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory" name="connectionFactory" > <property name="hostName" value="${global.redis.hostname}"/> <property name="port" value="${global.redis.port}"/> <property name="password" value="${global.redis.password}"/></bean>
配置Web.xml
由于springSessionRepositoryFilter是由Spring容器进行管理的,这个时候要把这个对象与JAVAEE传统的过滤器注册方式关联起来则需要通过过滤器代理进行注册就好了。
<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>
REDIS Namespace控制方式
通过VM参数设置进行控制
-dspring.session.redis.namespace=dev
通过YAML配置文件进行控制
spring: session: redis: namespace: dev
更多的YAML的配置参考我的另一篇文章。
参考资料
http://dorole.com/1422/
阅读全文
0 0
- SSH之传统方式接入分布式会话(Spring Session)篇
- SSH之Spring传统方式接入YAML管理各环境配置方式(从Spring Boot移植)
- 架构设计之Spring-Session的分布式集群会话管理
- 架构设计之Spring-Session分布式集群会话管理
- 架构设计之Spring-Session分布式集群会话管理
- 架构设计之Spring-Session分布式集群会话管理
- 使用Spring Session做分布式会话管理
- 使用Spring Session做分布式会话管理
- 使用Spring Session做分布式会话管理
- 使用Spring Session做分布式会话管理
- Spring-Session分布式集群会话管理
- 使用spring-session框架对会话session进行分布式管理
- 分布式session会话Sticky Sessions
- 在Spring Boot中使用Spring Session解决分布式会话共享问题
- oracle 管理 之 会话篇 session
- oracle之session会话
- 会话技术之Session
- 会话管理之Session
- mysql 存储过程 游标
- 创建、编译ros package
- WebView里面调用打电话
- lintcode 整数排序 | 希尔排序算法(Java)
- 斐波那契数列的余数周期问题
- SSH之传统方式接入分布式会话(Spring Session)篇
- springboot集成fastdfs
- Find All Numbers Disappeared in an Array(哈希表)
- Eclipse 各个版本区别
- c++中的类型转换方法
- Android开发大牛们的博客地址
- Elasticsearch安装与测试
- Web概述、HTML概述 、文本处理 、图像和超链接 、表格 、 表单
- 虚拟机对象概述