[jboss-cvs] JBossAS SVN: r92042 - projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/dependency.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Aug 5 19:15:31 EDT 2009
Author: kabir.khan at jboss.com
Date: 2009-08-05 19:15:31 -0400 (Wed, 05 Aug 2009)
New Revision: 92042
Modified:
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/dependency/AbstractKernelController.java
Log:
Better use of suppliers ConcurrentHashMap
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/dependency/AbstractKernelController.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/dependency/AbstractKernelController.java 2009-08-05 22:44:41 UTC (rev 92041)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/dependency/AbstractKernelController.java 2009-08-05 23:15:31 UTC (rev 92042)
@@ -28,6 +28,7 @@
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.CopyOnWriteArrayList;
import org.jboss.beans.metadata.spi.BeanMetaData;
@@ -64,7 +65,7 @@
protected AbstractEventEmitter emitterDelegate = createEventEmitter();
/** The supplies */
- protected Map<Object, List<KernelControllerContext>> suppliers = new ConcurrentHashMap<Object, List<KernelControllerContext>>();
+ protected ConcurrentMap<Object, List<KernelControllerContext>> suppliers = new ConcurrentHashMap<Object, List<KernelControllerContext>>();
/** The contexts by class Map<Class, Set<ControllerContext>> */
protected Map<Class<?>, ClassContext> contextsByClass = new ConcurrentHashMap<Class<?>, ClassContext>();
@@ -189,7 +190,9 @@
if (list == null)
{
list = new CopyOnWriteArrayList<KernelControllerContext>();
- suppliers.put(supply, list);
+ List<KernelControllerContext> old = suppliers.putIfAbsent(supply, list);
+ if (old != null)
+ list = old;
}
list.add(context);
if (trace)
More information about the jboss-cvs-commits
mailing list