EhCacheFactoryBean calls CacheManager.addCache before setStatisticsEnabled
Issue: SPR-11080
Issue: SPR-11092
(cherry picked from commit 6ce2eb9)
This commit is contained in:
@@ -234,6 +234,7 @@ public class EhCacheFactoryBean extends CacheConfiguration implements FactoryBea
|
||||
// Fetch cache region: If none with the given name exists, create one on the fly.
|
||||
Ehcache rawCache;
|
||||
boolean cacheExists = this.cacheManager.cacheExists(cacheName);
|
||||
|
||||
if (cacheExists) {
|
||||
if (logger.isDebugEnabled()) {
|
||||
logger.debug("Using existing EhCache cache region '" + cacheName + "'");
|
||||
@@ -253,6 +254,12 @@ public class EhCacheFactoryBean extends CacheConfiguration implements FactoryBea
|
||||
rawCache.getCacheEventNotificationService().registerListener(listener);
|
||||
}
|
||||
}
|
||||
|
||||
// Needs to happen after listener registration but before setStatisticsEnabled
|
||||
if (!cacheExists) {
|
||||
this.cacheManager.addCache(rawCache);
|
||||
}
|
||||
|
||||
if (this.statisticsEnabled) {
|
||||
rawCache.setStatisticsEnabled(true);
|
||||
}
|
||||
@@ -263,9 +270,6 @@ public class EhCacheFactoryBean extends CacheConfiguration implements FactoryBea
|
||||
rawCache.setDisabled(true);
|
||||
}
|
||||
|
||||
if (!cacheExists) {
|
||||
this.cacheManager.addCache(rawCache);
|
||||
}
|
||||
Ehcache decoratedCache = decorateCache(rawCache);
|
||||
if (decoratedCache != rawCache) {
|
||||
this.cacheManager.replaceCacheWithDecoratedCache(rawCache, decoratedCache);
|
||||
|
||||
Reference in New Issue
Block a user