我正在将JavaLite ActiveJDBC从EHCache 2.x升级到v 3.x. 它看起来API变化很大,我可以在v 3.x中找到我需要的等价物,除了一个:如何清除所有缓存?例如,在v2.x中,我可以这样做:
net.sf.ehcache.CacheManager cacheManager = net.sf.ehcache.CacheManager.create();
//... code
cacheManager.removalAll();
我如何在EHCache 3中执行此操作?
答案 0 :(得分:2)
澄清:CacheManager.removalAll()
是一种方法,不仅可以清除缓存,还可以完全删除缓存。它在最新版本中已弃用,并替换为CacheManager.removeAllCaches()
以更好地指明其用途。
缓存将不再存在,如果您要保留其中一个缓存,则不能再使用缓存。
Ehcache 3中的等价物是调用:CacheManager.close()
,它将关闭所有缓存,然后释放CacheManager
所拥有的所有资源。
如果Ehcache 3满足它,我很难理解我所理解的目标是什么(来自缓存的清晰数据)和使用的Ehcache 2方法(删除所有缓存)之间的脱节。