参考了下面文章的【六、tomcat session manager 配置】,使用Redis进行了session的共享配置。
http://blog.csdn.net/zheng0518/article/details/46754343
但是文章中提到的tomcat-redis-session-manager-master已经有2年没有更新,不支持Redis 3.0的Redis集群Redis Cluster。
因此对源代码进行了改写。
将原来的Jedis客户端升级为2.9.0,再有将Jedis换成JedisCluster。
修改过的代码地址。https://github.com/zhmz1326/tomcat-redis-session-manager。
使用方法:
1 将tomcat-redis-session-manager-2.1.0,jedis-2.9.0,commons-pool2-2.4.2这3个jar包放在tomcat/lib下。
commons-pool2-2.4.2
Jedis-2.9.0
tomcat-redis-session-manager-2.1.0
2 在tomcat/conf/context.xml增加类似如下的配置。
redisNodes根据的redis集群的node的ip和port进行配置。
密码(password=”redis_password”)可选。配置了redis密码的集群,才需要配置。
<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
redisNodes="192.168.1.81:7001,192.168.1.81:7002,192.168.1.81:7003,192.168.1.82:7004,192.168.1.82:7005,192.168.1.82:7006"
password="redis_password"
timeout="300000"
maxRedirections="6"
maxWaitMillis="-1"
maxTotal="1000"
minIdle="8"
maxIdle="100"
maxInactiveInterval="60"/>