码迷,mamicode.com
首页 > 编程语言 > 详细

springboot项目中,ehcache报错,需要CacheManager单例的解决办法

时间:2021-03-18 13:59:58      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:map   路径   his   单例   cti   版本   run   磁盘   policy   

在新的springboot项目中,如果在mybatis中使用了ehcache后,再第二次使用ehcache,会提示错误

Another CacheManager with same name default already exists in the same VM. Please provide unique names for each CacheManager in the config or do one of following:

原因是在ehcache2.5版本后,cachemanager必须是单例的,不允许多次创建。

解决办法

在config的配置文件中,新建一个bean,然后署名,在程序引用他时,标注这个name为新建的cachemanager

配置代码

@Configuration
public class EhCacheConfig {

//    @Bean
//    public CacheManager getCacheManager() {
//        
//        return  CacheManager.create("classpath:ehcache.xml");
//    }
    @Bean(name = "demo")
    public CacheManager getCacheManagerDemo() {
        return  CacheManager.create("classpath:ehcache2.xml");
    }
}

 

ehcache2.xml ( ehcache.xml文件为系统默认加载的额,这里必须另建一个xml文件,以示区分 )

<?xml version="1.0" encoding="UTF-8"?>
<ehcache name="demo"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd"
updateCheck="false">
<!-- xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd" -->
    <!-- 磁盘保存路径 -->
    <diskStore path="D:\44test\ehcache" />

    <defaultCache maxElementsInMemory="1000"
        maxElementsOnDisk="10000000" eternal="false" overflowToDisk="true"
        timeToIdleSeconds="120" timeToLiveSeconds="120"
        diskExpiryThreadIntervalSeconds="120" memoryStoreEvictionPolicy="LRU">
    </defaultCache>
     
   
    
</ehcache>

 

引用部分

在service层

@Cacheable(cacheManager = "demo")
    public List<User> queryAll() {
        // TODO Auto-generated method stub
        return this.userMapper.queryAll();
    }

启动入口类

@SpringBootApplication
@MapperScan(basePackages = {"cn.taotao.dao"})
@EnableCaching
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

}

 

springboot项目中,ehcache报错,需要CacheManager单例的解决办法

标签:map   路径   his   单例   cti   版本   run   磁盘   policy   

原文地址:https://www.cnblogs.com/sdgtxuyong/p/14547822.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!