From cf12390b0bf5ada95a8ea42083a1e82aab6112bd Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Sat, 12 Feb 2011 11:18:21 +0100 Subject: [PATCH] create new caches dynamically --- .../main/java/sonia/scm/cache/EhCacheManager.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) 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 ---------------------------------------------------------------