Author: fmeschbe Date: Tue Jan 26 07:39:10 2010 New Revision: 903111 URL: http://svn.apache.org/viewvc?rev=903111&view=rev Log: SLING-1326 use ConcurrentHashMap instead of HashMap to prevent concurrency issues accessing the configurations.
Modified: sling/trunk/bundles/commons/log/src/main/java/org/apache/sling/commons/log/internal/slf4j/LogConfigManager.java Modified: sling/trunk/bundles/commons/log/src/main/java/org/apache/sling/commons/log/internal/slf4j/LogConfigManager.java URL: http://svn.apache.org/viewvc/sling/trunk/bundles/commons/log/src/main/java/org/apache/sling/commons/log/internal/slf4j/LogConfigManager.java?rev=903111&r1=903110&r2=903111&view=diff ============================================================================== --- sling/trunk/bundles/commons/log/src/main/java/org/apache/sling/commons/log/internal/slf4j/LogConfigManager.java (original) +++ sling/trunk/bundles/commons/log/src/main/java/org/apache/sling/commons/log/internal/slf4j/LogConfigManager.java Tue Jan 26 07:39:10 2010 @@ -23,11 +23,11 @@ import java.lang.ref.SoftReference; import java.util.Collection; import java.util.Dictionary; -import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.Map; import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; import org.apache.sling.commons.log.internal.LogManager; import org.osgi.service.cm.ConfigurationException; @@ -95,11 +95,11 @@ * and logger configuration */ private LogConfigManager() { - writerByPid = new HashMap<String, SlingLoggerWriter>(); - writerByFileName = new HashMap<String, SlingLoggerWriter>(); - configByPid = new HashMap<String, SlingLoggerConfig>(); - configByCategory = new HashMap<String, SlingLoggerConfig>(); - loggersByCategory = new HashMap<String, SoftReference<SlingLogger>>(); + writerByPid = new ConcurrentHashMap<String, SlingLoggerWriter>(); + writerByFileName = new ConcurrentHashMap<String, SlingLoggerWriter>(); + configByPid = new ConcurrentHashMap<String, SlingLoggerConfig>(); + configByCategory = new ConcurrentHashMap<String, SlingLoggerConfig>(); + loggersByCategory = new ConcurrentHashMap<String, SoftReference<SlingLogger>>(); // configure the default writer to write to stdout (for now) // and register for PID only