0

我正在将 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 中执行此操作?

4

1 回答 1

2

澄清:CacheManager.removalAll()是一种不仅清除缓存,而且完全删除它们的方法。它在最新版本中已被弃用,取而代之CacheManager.removeAllCaches()以更好地表明其用途。如果您要保留对其中一个的引用,缓存将不再存在并且不能再使用。

Ehcache 3 中的等价物是调用:CacheManager.close()它会关闭所有缓存,然后释放CacheManager.

如果 Ehcache 3 满足它,我很难得出我理解的既定目标(从缓存中清除数据)与使用的 Ehcache 2 方法(删除所有缓存)之间的脱节。

于 2015-12-09T11:05:53.377 回答