mirror of
https://github.com/spring-projects/spring-framework.git
synced 2026-09-17 08:24:13 +00:00
Add resetCaches() method to general CacheManager interface
Closes gh-35845 See gh-35840
This commit is contained in:
Vendored
+13
@@ -130,4 +130,17 @@ public class JCacheCacheManager extends AbstractTransactionSupportingCacheManage
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resetCaches() {
|
||||
CacheManager cacheManager = getCacheManager();
|
||||
if (cacheManager != null && !cacheManager.isClosed()) {
|
||||
for (String cacheName : cacheManager.getCacheNames()) {
|
||||
javax.cache.Cache<Object, Object> jcache = cacheManager.getCache(cacheName);
|
||||
if (jcache != null && !jcache.isClosed()) {
|
||||
jcache.clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Vendored
+15
-2
@@ -51,8 +51,7 @@ class JCacheEhCacheApiTests extends AbstractValueAdaptingCacheTests<JCacheCache>
|
||||
this.cacheManager.createCache(CACHE_NAME_NO_NULL, new MutableConfiguration<>());
|
||||
this.nativeCache = this.cacheManager.getCache(CACHE_NAME);
|
||||
this.cache = new JCacheCache(this.nativeCache);
|
||||
Cache<Object, Object> nativeCacheNoNull =
|
||||
this.cacheManager.getCache(CACHE_NAME_NO_NULL);
|
||||
Cache<Object, Object> nativeCacheNoNull = this.cacheManager.getCache(CACHE_NAME_NO_NULL);
|
||||
this.cacheNoNull = new JCacheCache(nativeCacheNoNull, false);
|
||||
}
|
||||
|
||||
@@ -100,4 +99,18 @@ class JCacheEhCacheApiTests extends AbstractValueAdaptingCacheTests<JCacheCache>
|
||||
assertThat(cache.get(key).get()).isEqualTo(value);
|
||||
}
|
||||
|
||||
@Test
|
||||
void resetCaches() {
|
||||
JCacheCacheManager cm = new JCacheCacheManager(cacheManager);
|
||||
org.springframework.cache.Cache cache = cm.getCache(CACHE_NAME);
|
||||
cache.put("key", "value");
|
||||
assertThat(cm.getCacheNames()).contains(CACHE_NAME);
|
||||
assertThat(cm.getCache(CACHE_NAME)).isNotNull().isSameAs(cache);
|
||||
assertThat(cacheManager.getCache(CACHE_NAME).iterator()).hasNext();
|
||||
cm.resetCaches();
|
||||
assertThat(cm.getCacheNames()).contains(CACHE_NAME);
|
||||
assertThat(cm.getCache(CACHE_NAME)).isNotNull().isSameAs(cache);
|
||||
assertThat(cacheManager.getCache(CACHE_NAME).iterator()).isExhausted();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user