synchronize getCache method of cache manager implementations

This commit is contained in:
Sebastian Sdorra
2013-03-25 11:55:57 +01:00
parent 6fa211a559
commit 80ce0f019e
2 changed files with 5 additions and 4 deletions

View File

@@ -125,7 +125,8 @@ public class EhCacheManager implements CacheManager
* @return
*/
@Override
public <K, V> Cache<K, V> getCache(Class<K> key, Class<V> value, String name)
public synchronized <K, V> Cache<K, V> getCache(Class<K> key, Class<V> value,
String name)
{
net.sf.ehcache.Cache c = cacheManager.getCache(name);

View File

@@ -124,8 +124,8 @@ public class GuavaCacheManager implements CacheManager
* @return
*/
@Override
public <K, V> GuavaCache<K, V> getCache(Class<K> key, Class<V> value,
String name)
public synchronized <K, V> GuavaCache<K, V> getCache(Class<K> key,
Class<V> value, String name)
{
logger.trace("try to retrieve cache {}", name);
@@ -146,7 +146,7 @@ public class GuavaCacheManager implements CacheManager
//~--- fields ---------------------------------------------------------------
/** Field description */
private Map<String, GuavaCache> cacheMap = Maps.newConcurrentMap();
private volatile Map<String, GuavaCache> cacheMap = Maps.newHashMap();
/** Field description */
private GuavaCacheConfiguration defaultConfiguration;