当前位置: 首页 > 面试题库 >

同一个虚拟机中已存在另一个未命名的缓存管理器(ehCache 2.5)

东方华荣
2023-03-14
问题内容

这是我运行junit测试时发生的情况…

Another CacheManager with same name '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.

The source of the existing CacheManager is: 
 DefaultConfigurationSource [ ehcache.xml or ehcache-failsafe.xml ]

异常背后的原因是什么?可以同时运行1个以上的cacheManager吗?

这就是我使用Sping 3.1.1配置cachManager的方式。它将cacheManager的范围明确设置为“单例”

<ehcache:annotation-driven />

<bean
    id="cacheManager"
    class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"
    scope="singleton"
    />

The ehcache.xml looks like

<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd"
     updateCheck="false"
     maxBytesLocalHeap="100M" 
     name="cacheManager"
     >
 ....
 </ehcache>

Finally my class

@Component
public class BookingCache implements CacheWrapper<String, BookingUIBean> {

     @Autowired
     private CacheManager ehCacheManager;
      ....
}

我非常确定我在代码库中只处理一个cacheManager。其他一些可能正在运行第n个实例。


问题答案:

使用JPA(2.0)+ Hibernate(3.6.4)+ Spring(3.2.4)进行集成测试时,我遇到了同样的问题。使用以下Hibernate配置解决了该问题:

<property name="hibernate.cache.region.factory_class" value="net.sf.ehcache.hibernate.SingletonEhCacheRegionFactory"/>

而不是使用

<property name="hibernate.cache.region.factory_class" value="net.sf.ehcache.hibernate.EhCacheRegionFactory"/>


 类似资料:
  • 这就是我运行junit测试时发生的情况。。。 这一例外背后的原因是什么。是否有多个cacheManager同时运行? 这就是我使用Sping 3.1.1配置cachManager的方式。它明确地将cacheManager的范围设置为“singleton” 电子缓存。xml看起来像 终于上我的课了 我非常确定我的代码库中只有一个cacheManager。其他东西可能正在运行第n个实例。

  • 似乎有另一个进程正在加载缓存,但无法定位这个(如果错误没有告诉我谎言)。它唯一告诉我的是,我有另一个缓存从一个名为InputStreamConfigurationSource的类开始??? 有人遇到过这个错误吗??? 我在用 Spring3 泽西1.6/1.7 ehCache 2.6 StackTrace Spring配置 网页xml 缓存文件 文件服务类 JSONendpoint

  • 我正在尝试将EhCache配置为在启用Apache Shiro的Web服务中处理授权缓存。目前我得到了以下例外: org.apache.shiro.cache.CacheException:net.sf.ehcache.CacheException:同一VM中已存在另一个未命名的CacheManager。请为配置中的每个CacheManager提供唯一名称,或执行以下操作之一: 使用CacheMa

  • 问题内容: gdb如何在Linux上访问另一个进程虚拟内存?全部通过/ proc完成吗? 问题答案: gdb如何在Linux上访问另一个进程虚拟内存?全部通过/ proc完成吗? 在Linux上读取内存 : 1)如字节数来读取比更少或文件系统不可用或从读取不成功则使用具有读取数据。 这些是函数中的这些条件: 2)如果要读取的字节数大于或等于3 * sizeof(long)并且可用,则使用或(和使用

  • 我正在使用Ehcache 3 我有一个缓存用于存储一种类型的对象,另一个缓存用于不同类型的对象。这些在不同的类中,每个都有自己的缓存管理器。 但是我现在想知道我是否误解了这些示例,让一个CacheManager管理两个不同的缓存更有意义,或者你只是想使用同一个CacheManager来管理同一类型的多个缓存。 因为示例喜欢将代码链接在一起,所以从留档中很难看出正确的方法是什么。

  • 为spring boot应用程序集成EhCache3缓存提供程序。我需要决定使用哪个缓存管理器。理想情况下,我希望在我的缓存方法上使用Springs缓存注释,例如@Cacheable,而不是jsr(@CacheResult),但对于cachemanager/cache库,我无法决定以下内容 我决定使用ehcache3提供程序进行缓存库注释: 对哪种实施方式有何建议?也许我不清楚上面的实现有什么不同