参考文献:
https://www.cnblogs.com/cgli/p/7920573.html
要点:
同一个应用在运行多个tomcat实例的时候,经常需要共享Session。tomcat配置共享session有多种方式
1、利用tomcat自身集群特性进行配置;
2、利用Memcache第三方缓存进行配置;
3、利用Redis第三方缓存进行配置;
使用方法3,重点在于tomcat 8.x
因为tomcat7还有点不同,tomcat7的配置可以利用一个开源组件,直接配置即可以使用,比较简单方便(直接参考这个文章即可:http://blog.csdn.net/qq584852076/article/details/46502185)。
tomcat8却是有不同的,开源组件明确说是不支持的。如果要使用tomcat8, 要对源码做简单修改。
开源组件在这里: https://github.com/jcoleman/tomcat-redis-session-manager
分步指南
1. 下载开源项目
https://github.com/jcoleman/tomcat-redis-session-manager
2. 支持tomcat8需修改代码
修改RedisSessionManager类中的initializeSerializer()方法
~~~
/* if (getContainer() != null) {
loader = getContainer().getLoader();
}*/
Context context = this.getContext();
if(context !=null)
{
loader = context.getLoader();
}
~~~
3. 打包部署
将源码打成jar包,取名redistomcat8.jar
将redistomcat8, 以及以下依赖包拷贝到tomcat的lib下。
![](https://box.kancloud.cn/a85986443b2918e0b70d0c7644bb0c63_230x89.png)
4. 新增tomcat context.xml配置
~~~
<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
host="r-wz97b7d28a98aa44.redis.rds.aliyuncs.com"
port="6379"
database="0"
password="xxxxxxx"
maxInactiveInterval="60" />
~~~
同时如果应用下的WEB-INF/lib有相同的jar去掉
重启tomcat服务即可
- 第一章 Linux
- 1. Linux安装和网络配置
- 2. Linux基本命令
- 3. Xshell和winscp
- 4. VIM编辑器
- 5. 安装软件
- 5.1 安装JDK
- 5.2 安装TOMCAT
- 5.3 安装MySql
- 5.4 安装Nginx
- 5.5 部署工程
- 第二章 Nginx
- 1. 安装Nginx
- 2. 配置Nginx
- 2.1 配置静态服务器
- 2.2 配置反向代理
- 2.3 配置负载均衡
- 2.4 配置动静分离
- 2.5 跨域访问
- 第三章 Redis
- 1. 安装Redis
- 2. JAVA操作Redis
- 3. Redis事务
- 4. Redis持久化
- 5. 主从复制和集群
- 6. Redis实现Session共享
- 第四章 MySQL主从复制
- 4.1 MyCat安装
- 4.2 MySQL主从复制
- 4.3MySQL读写分离
- 第五章 ActiveMQ
- 5.1 Queue
- 5.2 Topic
- 第六章 FastDFS图片服务器
- 第七章