[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