最近在研究缓存框架Ehcache的配置和使用,我想根据多个ehcache.xml创建多个CacheManager对象,但是报了异常:
Caused by: net.sf.ehcache.CacheException: Another unnamed CacheManager already exists in the same VM. Please provide unique names for each CacheManager in the config or do one of following:
1. Use one of the CacheManager.create() static factory methods to reuse same CacheManager with same name or create one if necessary
2. Shutdown the earlier cacheManager before creating new one with same name.
错误提示很明显:Ehcache不允许创建同样名称的CacheManager对象。如果我们没有ehcache.xml中配置CacaheManager的名称,那么默认的名称是__DEFAULT__。解决方式是<ehcache name="">中配置CacheManager的名称,并确保唯一。这样如下代码就不会报错了
URL url = CacheHelper.class.getClassLoader().getResource("ehcache.xml"); CacheManager manager = new CacheManager(url); // __DEFAULT__ System.out.println(manager.getName()); URL url2 = CacheHelper.class.getClassLoader().getResource("ehcache2.xml"); CacheManager manager2 = new CacheManager(url2);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。