我正在将JavaLite ActiveJDBC从EHCache 2.x升级到v3.x。它看起来API发生了巨大的变化,我可以在v3.x中找到与我需要的东西等效的东西,除了一个:如何清除所有缓存?例如,在v2.x中,我可以这样做:
net.sf.ehcache.CacheManager cacheManager = net.sf.ehcache.CacheManager.create();
//... code
cacheManager.removalAll();在EHCache 3中如何做到这一点?
发布于 2015-12-09 19:05:53
澄清:CacheManager.removalAll()是一种方法,它不仅清除缓存,而且完全删除它们。它在最新版本中已弃用,并替换为CacheManager.removeAllCaches(),以便更好地指明其用途。如果您保留对其中一个缓存的引用,则缓存将不再有效,并且不能再使用。
Ehcache3中的等价物是调用:CacheManager.close(),它将关闭所有缓存,然后释放CacheManager持有的所有资源。
很难说我所理解的目标(从缓存中清除数据)和Ehcache2方法(删除所有缓存)之间的脱节,如果Ehcache3满足它的话。
https://stackoverflow.com/questions/34147999
复制相似问题