场景:在做集群或系统拆分的时候,经常会有用户登录session同步等问题。
参考链接:https://github.com/jcoleman/tomcat-redis-session-manager
这里只是简单写下实际操作,分为三步吧
1.将下面的三个jar包放入tomcat/lib文件夹中(jar包版本不同可能有影响,我jdk1.7用以下jar包可用)
2.在tomcat的context.xml中添加以下配置
<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
<Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
host="localhost" <!-- optional: defaults to "localhost" -->
port="6379" <!-- optional: defaults to "6379" -->
database="0" <!-- optional: defaults to "0" -->
maxInactiveInterval="60" <!-- optional: defaults to "60" (in seconds) -->
<!-- 要以上的就可以了,下面三个可选,各属性的值都需要自己填 --> sessionPersistPolicies="PERSIST_POLICY_1,PERSIST_POLICY_2,.." <!-- optional -->
sentinelMaster="SentinelMasterName" <!-- optional -->
sentinels="sentinel-host-1:port,sentinel-host-2:port,.." <!-- optional --> />
3.若系统访问路径带项目名的话,在tomcat的server.xml的最底部,给<Context/>
标签添加属性:sessionCookiePath=”/”。