代码中会话同步(同步redis)导致的异常问题
背景: 第一天拷贝了一份tomcat(配置了redis会话同步),部署了erp-rocketmq应用(用作给顾客发送消息)。
第二天早晨,整个erp系统出现异常情况:
1>登录界面有时能登录,有时会报错
2>erp系统的一些模块,点击时候会抛出系统异常的情况
排查:
1>代码中连接redis、mysql、rocketmq配置等,都没问题
2>项目的catalina.out日志抛出异常,但是程序员说代码是完全没有问题的
解决:
1>经过排查,是由于jbs-rocketmq配置了redis会话同步导致出现异常,配置会话同步会导致将redis原有的缓存冲掉,二者互相冲突,所以出现了时好时坏的原因
tomcat配置:
[root@hdoop1 conf]# ls conf/
Catalina catalina.policy catalina.properties context.xml logging.properties RedisDataCache.properties server.xml tomcat-users.xml tomcat-users.xsd web.xml[root@hdoop1 conf]# vim context.xml
......
<Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
-->
<Valve className="com.r.tomcat.session.management.RequestSessionHandlerValve"/>
<Manager className="com.r.tomcat.session.management.RequestSessionManager"/>
</Context>