You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by fm...@apache.org on 2010/01/26 08:39:11 UTC

svn commit: r903111 - /sling/trunk/bundles/commons/log/src/main/java/org/apache/sling/commons/log/internal/slf4j/LogConfigManager.java

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