1
回答
redis在被当成mbatis二级缓存的时候,在继续作为tomcat的session管理对象的时候存在冲突
极速云服务器,低至1.04元/天>>>   
框架用的 springmvc+spring+mybatis3


mybatis开启二级缓存,用redis当二级缓存容器,实现方法是加入jedis.jar,自己写了个cache类实现mybatis的cache接口  之后在mybatis配置文件中开启二级缓存,map里写上cache标签 且测试运行成功,redis能正常保存框架查询时候的缓存。

今天想把tomcat的session也丢给redis来管理,实现方法是tomcat-redis-session-manager-1.2-tomcat-7.jar,commons-pool-1.3.jar,jedis-2.0.0.jar的jar放入tomcat目录下的lib文件夹,在tomcat的context.xml中写上


<Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve" />  
<Manager className="com.radiadesign.catalina.session.RedisSessionManager"  
host="localhost" 
port="6379" 
database="0"
maxInactiveInterval="60" />  

测试不通过,后将Map接口里边的二级缓存标签去除后即可正常保存session。

现在的问题是两个功能不能一起使用 要用session就不能二级缓存。

这是两个功能一起使用的时候的报错信息

Configuration. Cause: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: 

org.apache.ibatis.cache.CacheException: Could not instantiate cache implementation (class util.RedisCache). 

Cause: java.lang.reflect.InvocationTargetException


这个问题该怎么解决,哪位朋友遇到过
举报
BugToBug
发帖于1年前 1回/556阅
顶部