tomcat集群使用nginx加redis实现session共享出现BUG

启动 Tomcat 成功,操作报错信息如下:

  • Caused by: java.lang.ClassNotFoundException: com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve

触发原因:context.xml 配置信息和引入的jar版本不一致

解决方案:按照文档重新配置

使用jdk1.8,nginx1.11.4,redis-2.8.9,tomcat7.0.61

使用了commons-logging-1.2.jar,commons-pool2-2.4.2.jar,jedis-2.8.2.jar,tomcat-juli.jar,tomcat-redis-session-manage-tomcat7.jar

请问是什么原因,能给一个正确的jar和配置吗

8个回答

这个实例和你遇到的问题似乎一样,可参考其解决方案。http://blog.csdn.net/onlysunnyboy/article/details/50513305

sun1021873926
夕阳雨晴 那就只能看看有没有其他答案了哈
接近 3 年之前 回复
corder_raine
corder_raine 还是不行呀,拿干净的,tomcat-1.7.47-64B,用你提供的这个链接里边的,jar包放进tomcat的lib里边,然后在conf的context.xml的Context标签中间加入,<Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve"/> <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager" host="127.0.0.1" port="6379" database="0" maxInactiveInterval="60"/> 提示,还是未找到相关类
接近 3 年之前 回复

应该是你的配置文件中的Content的DTD约束的版本和你导入的jar包版本不一致

Mr_Huang_ning
Mr_Huang_ning 回复corder_raine: 联网应该就能解决了
接近 3 年之前 回复
corder_raine
corder_raine 估计是版本不对,怎么排查版本,能给个可以用的版本吗?
接近 3 年之前 回复

或者是你的本地仓库没有这个jar包?或者你没开redis?

corder_raine
corder_raine 估计是版本不对应了,有正常能用的jar包吗?发我一个,谢谢
接近 3 年之前 回复

tomcat的,server.xml配置



 <Context path="" docBase="E:/GHSJO2O/o2o/trunk/web/target/o2o-1.0.0" reloadable="true">
            <Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve"/>
            <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager" host="127.0.0.1" port="6379" database="0" maxInactiveInterval="60"/>
        </Context>

redis已开启,可以get set,本地仓库用的是,Maven,直接把jar放进ide打包好后的web-inf里的lib里边了。

使用nginx搭建集群tomcat8,redis实现session共享,文件共享问题:http://blog.csdn.net/hua1586981/article/details/78132710

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问