1.需求背景

由于tomcat8.0.36在一个特定项目上 使用Memcached 做session共享的时候会出现错误(大致原因是由于session里面放置了大量java对象)!所有改成用redis来同步session。jdk 是用的jdk 7.0.79
而jcoleman/tomcat-redis-session-manager 对tomcat 8 不支持。
https://github.com/jcoleman/tomcat-redis-session-manager
所以只有降级到tomcat 7.0.70

2.设置步骤

a. 通过docker安装redis

b. 配置tomcat的context.xml增加如下代码

<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" /><Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
         host="192.168.1.120"
         port="16379"
         database="0"
         password="mypass"
         maxInactiveInterval="60"/>12345678

c. 把需要的jar文件复制到tomcat的lib目录下

commons-pool2-2.4.2.jar
jedis-2.7.2.jar
tomcat-redis-session-manager1.2.jar

其中 tomcat-redis-session-manager1.2.jar 经过定制。否则会出现
com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve not found的错误