EhCache 内存限制

EhCache Memory limit

在我的代码中,我使用 EhCache 来存储一个对象。代码如下

@Resource(name = "ehCacheManager")
private CacheManager manager;
private Ehcache cache;
public void testCache(){    
 cache = manager.getCache("ehSubjects");
 for loop to read subjects data{ //This loops runs 15051 times
 final Element element = new Element(subject.subjectId(), subject);
 cache.put(element);
 }
}
System.out.println("Cache Size:"+cache.getSize()); //15000

问题是有 15051 个主题对象,但是在循环之后我尝试打印缓存大小时它总是给我 15000。

那么我们可以在 EhCache 中保留的对象数量有限制吗?

问题出在其他队友定义的 ehcache.xml 上。由于 cahce 忽略了其他项目,他将 maxitemsincache 的值设置为 15000。