Tomcat Redis Session 共享实现

1、项目环境

  • jdk1.7

  • Tomcat8.0.44/适配Tomcat7、8、9

  • 项目为老项目,Tomcat Web项目

2、目标

  • 老项目进行了多实例化,用以适配大量访问请求,

  • 要求解决多实例产生session共享的问题

3、素材


https://download.csdn.net/download/qq_36433118/85911245
tomcat-cluster-redis-session-manager.zip

4、操作


①将tomcat-cluster-redis-session-manager.zip解压

②将conf和lib下的分别复制到Tomcat下的conf和lib下

③修改tomcat/conf/redis-data-cache.properties 的redis连接配置

④将下面两行代码加入Tomcat下conf/context.xml的context标签中

<Valve className="tomcat.request.session.redis.SessionHandlerValve" />
<Manager className="tomcat.request.session.redis.SessionManager" />

⑤检查tomcat/conf/web.xml文件中的会话过期时间(分钟)

<session-config>
            <session-timeout>60<session-timeout>
<session-config>

5、出现问题
①项目中使用了Slf4j-api和log4j的jar包,和Tomcat引入jar相冲突


把 tomcat/portal/lib/log4j-1.2.16.jar slf4j-log4j12-1.6.4.jar放回到了 webapps/下的lib里
注意:这两个包是项目中使用的,后我移到Tomcat lib下

②出现项目启动失败


在生成随机数的时候卡住了,导致tomcat启动不了

在服务器启动时也可以加上参数 -Djava.security.egd=file:/dev/./urandom
其中
-Djava.security.egd=file:/dev/random( 这等于默认选项 )
默认算法: NativePRNG
提供程序: SecureRandom.NativePRNG算法来自:SUN

-Djava.security.egd=file:/dev/urandom
默认算法: NativePRNG
提供程序: SecureRandom.NativePRNG算法来自:SUN

-Djava.security.egd=file:/dev/./urandom
默认算法: DRBG
提供者: SecureRandom.DRBG算法来自:SUN

-Djava.security.egd=file:/dev/./urandom

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值