[jboss-cvs] JBossAS SVN: r98923 - in projects/kernel/trunk: kernel/src/main/java/org/jboss/beans/metadata/api/model and 3 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Dec 23 13:31:54 EST 2009


Author: kabir.khan at jboss.com
Date: 2009-12-23 13:31:54 -0500 (Wed, 23 Dec 2009)
New Revision: 98923

Modified:
   projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/MapControllerStateModel.java
   projects/kernel/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/model/QualifierContent.java
   projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/BasicBeanAnnotationAdapter.java
   projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/BasicBeanMetaDataAnnotationAdapter.java
   projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/dependency/QualifiersMdrUtil.java
   projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/registry/basic/BasicKernelRegistryFactory.java
Log:
[JBKERNEL-72] Look at initialization of ConcurrentHashMap's concurrencyLevel

Modified: projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/MapControllerStateModel.java
===================================================================
--- projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/MapControllerStateModel.java	2009-12-23 17:58:11 UTC (rev 98922)
+++ projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/MapControllerStateModel.java	2009-12-23 18:31:54 UTC (rev 98923)
@@ -39,7 +39,8 @@
 {
    private volatile ControllerStateWrapper first;
    private volatile ControllerStateWrapper last;
-   private final Map<ControllerState, ControllerStateWrapper> states = new ConcurrentHashMap<ControllerState, ControllerStateWrapper>();
+   //Not likely to be more than one thread updating states at the same time
+   private final Map<ControllerState, ControllerStateWrapper> states = new ConcurrentHashMap<ControllerState, ControllerStateWrapper>(16, .75f, 1);
    
    /** Thread-safe list for obtaining the iterators */
    private final List<ControllerState> stateList = new CopyOnWriteArrayList<ControllerState>();

Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/model/QualifierContent.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/model/QualifierContent.java	2009-12-23 17:58:11 UTC (rev 98922)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/beans/metadata/api/model/QualifierContent.java	2009-12-23 18:31:54 UTC (rev 98923)
@@ -50,7 +50,7 @@
    /** The qualifier is an annotation */
    public static QualifierContent ANNOTATION = new QualifierContent("ANNOTATION");
 
-   //Not likely to be more than one thread at any time
+   //Not likely to be more than one thread updating at any time
    private static ConcurrentMap<String, QualifierContent> values = new ConcurrentHashMap<String, QualifierContent>(3, .75f, 1);
 
    static

Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/BasicBeanAnnotationAdapter.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/BasicBeanAnnotationAdapter.java	2009-12-23 17:58:11 UTC (rev 98922)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/BasicBeanAnnotationAdapter.java	2009-12-23 18:31:54 UTC (rev 98923)
@@ -39,8 +39,8 @@
 
    protected BasicBeanAnnotationAdapter()
    {
-      // -- adapters
-      adapters = new ConcurrentHashMap<Class<? extends Annotation>, Annotation2ValueMetaDataAdapter<? extends Annotation>>();
+      // -- adapters Unlikely to be more than one thread updating at any time
+      adapters = new ConcurrentHashMap<Class<? extends Annotation>, Annotation2ValueMetaDataAdapter<? extends Annotation>>(40, .75f, 1);
 
       // -- plugins
       // class

Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/BasicBeanMetaDataAnnotationAdapter.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/BasicBeanMetaDataAnnotationAdapter.java	2009-12-23 17:58:11 UTC (rev 98922)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/annotations/BasicBeanMetaDataAnnotationAdapter.java	2009-12-23 18:31:54 UTC (rev 98923)
@@ -39,8 +39,8 @@
 
    protected BasicBeanMetaDataAnnotationAdapter()
    {
-      // -- adapters
-      adapters = new ConcurrentHashMap<Class<? extends Annotation>, Annotation2ValueMetaDataAdapter<? extends Annotation>>();
+      // -- adapters Unlikely to be more than one thread updating at any time
+      adapters = new ConcurrentHashMap<Class<? extends Annotation>, Annotation2ValueMetaDataAdapter<? extends Annotation>>(40, .75f, 1);
 
       // class
       addAnnotationPlugin(BeanAnnotationPlugin.INSTANCE);

Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/dependency/QualifiersMdrUtil.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/dependency/QualifiersMdrUtil.java	2009-12-23 17:58:11 UTC (rev 98922)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/dependency/QualifiersMdrUtil.java	2009-12-23 18:31:54 UTC (rev 98923)
@@ -604,7 +604,7 @@
          {
             if (create)
             {
-               set = new ConcurrentSet<Object>();
+               set = new ConcurrentSet<Object>(16, .75f, 2);
                ((MutableMetaData)retrieval).addMetaData(key, set, Set.class);
             }
             else

Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/registry/basic/BasicKernelRegistryFactory.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/registry/basic/BasicKernelRegistryFactory.java	2009-12-23 17:58:11 UTC (rev 98922)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/registry/basic/BasicKernelRegistryFactory.java	2009-12-23 18:31:54 UTC (rev 98923)
@@ -23,6 +23,7 @@
 
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
 
 import org.jboss.kernel.spi.registry.KernelRegistryEntry;
 import org.jboss.kernel.spi.registry.KernelRegistryEntryAlreadyRegisteredException;
@@ -42,7 +43,7 @@
    private static final Logger log = Logger.getLogger(BasicKernelRegistryFactory.class);
 
    /** The registred entries */
-   protected Map<Object, KernelRegistryEntry> entries = new ConcurrentHashMap<Object, KernelRegistryEntry>();
+   protected ConcurrentMap<Object, KernelRegistryEntry> entries = new ConcurrentHashMap<Object, KernelRegistryEntry>();
 
    /**
     * Create a new basic registry factory
@@ -62,13 +63,10 @@
 
       boolean trace = log.isTraceEnabled();
 
-      synchronized (entries)
-      {
-         if (entries.containsKey(name))
-            throw new KernelRegistryEntryAlreadyRegisteredException("Already registered: " + name);
-         entries.put(name, entry);
-         entry.setName(name);
-      }
+      KernelRegistryEntry old = entries.putIfAbsent(name, entry);
+      if (old != null)
+         throw new KernelRegistryEntryAlreadyRegisteredException("Already registered: " + name);
+      entry.setName(name);
 
       if (trace)
          log.trace("Registered object: '" + entry + "' with name '" + name + "'");




More information about the jboss-cvs-commits mailing list