开发者社区> 问答> 正文

SpringCache配置多个cacheManager的问题 配置报错 

我的项目中有shiro和redis缓存,shiro的缓存是EhCacheManager,redis我配置了RedisCacheManager,这两个cachemanager产生了冲突,我直接在@cacheable指定那cacheManager也不行,有人遇见这个问题吗,有啥解决方案吗

展开
收起
kun坤 2020-05-31 17:29:49 577 0
1 条回答
写回答
取消 提交回答
  • springboot只支持一个. 为什么不都配置成redis缓存?######回复 @loyal : 怎么搞######回复 @0o涛涛o0 : 那就有一个不用springboot提供的CacheManager就行了.######shiro这块不是我负责,我在想能不能互相保留,互不影响######看了一下源码,大概思路就是这样,没实验。楼主思路有问题,不应该整合多个缓存管理器,应该想办法整合多个Cache区域。

     @Bean public CacheManager cacheManager(RedisTemplate<Object, Object> redisTemplate) {      SimpleCacheManager simpleCacheManager = new SimpleCacheManager();

    ArrayList<Cache> caches = new ArrayList<>(); CacheManager manager =CacheManager.create("src/config/ehcache.xml"); Cache ehcacheNames = manager.getCache("ehcacheNames");

    RedisCache redisCache=new RedisCache("redisCache",new DefaultRedisCachePrefix().prefix("redisCache"),redisTemplate,0); caches.add(ehcacheNames); caches.add(redisCache); simpleCacheManager.setCaches(caches);     return simpleCacheManager; }

    ######使用的时候指定name对应的就是不同类型的缓存######分别设置不同的CacheName?

    2020-05-31 17:29:54
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载