我正在创建这样的EHCache实例:

CacheManager cacheMgr = CacheManager.getInstance();
cacheMgr.setName("myCache");

CacheConfiguration cacheConfig = new CacheConfiguration(getCacheName(), 1)
                    .eternal(true)
                    .overflowToOffHeap(false)
                    .timeToLiveSeconds(0)
                    .maxEntriesLocalHeap(1)
                    .timeToIdleSeconds(0) .diskExpiryThreadIntervalSeconds(0);

Cache merchantCache = new Cache(cacheConfig);
cacheMgr.addCache(merchantCache);

merchantCache.put(new Element("key", "value"));
merchantCache.put(new Element("key1", "value"));
merchantCache.put(new Element("key2", "value"));


运行这段代码,我没有任何异常。因为我创建了maxEntriesLocalHeap = 1的Cache,所以希望得到一个异常,因为我在其中放置了三个元素。

谁能让我知道我在做什么错?

谢谢

最佳答案

我相信您需要按照以下方式使用maxEntriesInCache代替maxEntriesLocalHeaphttp://ehcache.org/apidocs/net/sf/ehcache/config/CacheConfiguration.html#maxEntriesInCache

编辑:对于非群集的ehcache使用:maxElementsInMemory

09-12 15:56