From 80ce0f019e80ad2df0c8e0a78cf89dd534a3835a Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Mon, 25 Mar 2013 11:55:57 +0100 Subject: [PATCH] synchronize getCache method of cache manager implementations --- .../src/main/java/sonia/scm/cache/EhCacheManager.java | 3 ++- .../src/main/java/sonia/scm/cache/GuavaCacheManager.java | 6 +++--- 2 files changed, 5 insertions(+), 4 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 70d068335d..0342ecf32b 100644 --- a/scm-webapp/src/main/java/sonia/scm/cache/EhCacheManager.java +++ b/scm-webapp/src/main/java/sonia/scm/cache/EhCacheManager.java @@ -125,7 +125,8 @@ public class EhCacheManager implements CacheManager * @return */ @Override - public Cache getCache(Class key, Class value, String name) + public synchronized Cache getCache(Class key, Class value, + String name) { net.sf.ehcache.Cache c = cacheManager.getCache(name); diff --git a/scm-webapp/src/main/java/sonia/scm/cache/GuavaCacheManager.java b/scm-webapp/src/main/java/sonia/scm/cache/GuavaCacheManager.java index cdc9fd958d..c0a5a19914 100644 --- a/scm-webapp/src/main/java/sonia/scm/cache/GuavaCacheManager.java +++ b/scm-webapp/src/main/java/sonia/scm/cache/GuavaCacheManager.java @@ -124,8 +124,8 @@ public class GuavaCacheManager implements CacheManager * @return */ @Override - public GuavaCache getCache(Class key, Class value, - String name) + public synchronized GuavaCache getCache(Class key, + Class value, String name) { logger.trace("try to retrieve cache {}", name); @@ -146,7 +146,7 @@ public class GuavaCacheManager implements CacheManager //~--- fields --------------------------------------------------------------- /** Field description */ - private Map cacheMap = Maps.newConcurrentMap(); + private volatile Map cacheMap = Maps.newHashMap(); /** Field description */ private GuavaCacheConfiguration defaultConfiguration;