diff --git a/scm-webapp/src/main/java/sonia/scm/cache/EhCacheManager.java b/scm-webapp/src/main/java/sonia/scm/cache/EhCacheManager.java index d65003face..a2f15655aa 100644 --- a/scm-webapp/src/main/java/sonia/scm/cache/EhCacheManager.java +++ b/scm-webapp/src/main/java/sonia/scm/cache/EhCacheManager.java @@ -84,12 +84,20 @@ public class EhCacheManager implements CacheManager @Override public Cache getCache(Class key, Class value, String name) { - if (logger.isInfoEnabled()) + net.sf.ehcache.Cache c = cacheManager.getCache(name); + + if (c == null) { - logger.info("create new cache {}", name); + if (logger.isWarnEnabled()) + { + logger.warn("could not find cache {}, create new from defaults", name); + } + + cacheManager.addCacheIfAbsent(name); + c = cacheManager.getCache(name); } - return new EhCache(cacheManager.getCache(name), name); + return new EhCache(c, name); } //~--- fields ---------------------------------------------------------------