场景:在做集群或系统拆分的时候,经常会有用户登录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=”/”。
本文介绍如何使用Redis实现Tomcat集群间的Session同步。通过在Tomcat的lib目录下放置特定的jar包,并在context.xml中配置RedisSessionManager,可以轻松解决跨服务器Session共享问题。
2300

被折叠的 条评论
为什么被折叠?



