使用zinin的RedisSession共享时报java.lang.ClassCastException转换错误的最终解决方案
来源:互联网 发布:网站访问授权码源码 编辑:程序博客网 时间:2024/05/16 17:14
最近打算给项目做一下Session共享,使用Redis来实现Session的共享,一种是自己开发代码实现,另外就是利用现成的一些封装好的组件,这种相对比较方便,常见的比如Tomcat-Redis-Session-Manager,还有Tomcat-Redis-Session,我选了后者也就是Tomcat-Redis-Session,GitHub中的地址是 https://github.com/zinin/tomcat-redis-session。在Maven仓库中它被称作, Redis HttpSession For Tomcat,地址是这个http://mvnrepository.com/artifact/ru.zinin/tomcat-redis-session,
只要通过几部就可以搞定,第一步就是将tomcat-redis-session-0.8.jar、commons-pool2-2.4.2.jar ,jedis-2.8.1.jar分别放到Tomcat的Lib中,第二步就是修改tomcat的conf目录中的context.xml 里面增加一条 <Manager className="ru.zinin.redis.session.RedisManager" redisHostname="192.168.14.04" redisPassword="password" redisPort="6379" redisTimeout="30000" /> 这样就连接到Redis服务了
但是在使用过程中程序只要有写入Session的时候就汇报ru.zinin.redis.session.event.RedisSessionAddAttributeEvent cannot be cast to ru.zinin.redis.session.event.RedisSessionEvent
Oct 17, 2016 4:10:12 PM ru.zinin.redis.session.RedisEventListenerThread run
SEVERE: ru.zinin.redis.session.event.RedisSessionCreatedEvent cannot be cast to ru.zinin.redis.session.event.RedisSessionEvent
java.lang.ClassCastException: ru.zinin.redis.session.event.RedisSessionCreatedEvent cannot be cast to ru.zinin.redis.session.event.RedisSessionEvent
at ru.zinin.redis.session.RedisEventListenerThread$1.onMessage(RedisEventListenerThread.java:57)
at redis.clients.jedis.JedisPubSub.process(JedisPubSub.java:129)
at redis.clients.jedis.JedisPubSub.proceed(JedisPubSub.java:102)
at redis.clients.jedis.Jedis.subscribe(Jedis.java:2628)
at ru.zinin.redis.session.RedisEventListenerThread.run(RedisEventListenerThread.java:111)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
这样的错误,开始是怀疑Redis的版本的问题,升级了redis的版本,无效,然后又想是包的引用版本的问题,下载了tomcat-redis-session源码重新调整了 Commons-pool和jedis的版本Build后也不行, 后来冷静下来想想,应该是包的冲突,果断将项目中的lib包中的tomcat-redis-session-0.8.jar删除,这样就和tomcat的lib包中的jar不冲突了,问题彻底解决。
- 使用zinin的RedisSession共享时报java.lang.ClassCastException转换错误的最终解决方案
- hibernate 的java.lang.ClassCastException 错误
- java.lang.ClassCastException: java.lang.Integer的解决方案
- 奇怪的hibernate 的类型转换错误: java.lang.ClassCastException: java.lang.Boolean cannot be cast to java.lang
- java.lang.ClassCastException错误
- 使用hadoop进行排序时报错 Error: java.lang.ClassCastException
- Dorado7保存时报转换错误 java.lang.ClassCastException: com.bstek.dorado.data.variant.Record cannot be cast to
- 一个关于java.lang.ClassCastException: $Proxy65的错误解决办法
- Android-ListView的removeFooterView方法报java.lang.ClassCastException错误
- Android-ListView的removeFooterView方法报java.lang.ClassCastException错误
- Android-ListView的removeFooterView方法报java.lang.ClassCastException错误
- ListView的removeFooterView方法报java.lang.ClassCastException错误
- java.lang.ClassCastException的解决办法
- 关于struts2+hibernate3.2中出现的java.lang.ClassCastException: java.lang.Integer异常的解决方案
- JPBM工作流提交时报java.lang.ClassCastException: de.odysseus.el.ExpressionFactoryImpl的解决办法
- Hibernate保存时报java.lang.ClassCastException
- SpringBoot在使用通用Mapper的时候,找不到实体类报的错误是java.lang.ClassCastException
- java.lang.ClassCastException: 错误解析
- whistle--全新的跨平台web调试工具
- Windows下Nginx作为服务启动
- xml主要数据结构
- 编写第一个nodejs程序
- iOS耗电量的测试
- 使用zinin的RedisSession共享时报java.lang.ClassCastException转换错误的最终解决方案
- Android之仿今日头条顶部导航栏效果
- 第一篇博客-from now on
- LeetCode 419. Battleships in a Board 题解(C++)
- mysql单引号和双引号
- 小米调试 offline、unauthorized的解决办法
- UNREFERENCED_PARAMETER 的作用
- setContentView(R.layout.main)在Android里面,这句话是什么意思?
- Linux学习笔记