Author: davsclaus
Date: Tue Apr 17 08:39:34 2012
New Revision: 1326994
URL: http://svn.apache.org/viewvc?rev=1326994&view=rev
Log:
Use concurrent list in case lazy loading type converters is enabled and doing
concurrent testing which may cause a concurrent modification exception while
traversing fallback type converters
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/BaseTypeConverterRegistry.java
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/BaseTypeConverterRegistry.java
URL:
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/BaseTypeConverterRegistry.java?rev=1326994&r1=1326993&r2=1326994&view=diff
==============================================================================
---
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/BaseTypeConverterRegistry.java
(original)
+++
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/BaseTypeConverterRegistry.java
Tue Apr 17 08:39:34 2012
@@ -25,6 +25,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 java.util.concurrent.ExecutionException;
import java.util.concurrent.atomic.AtomicLong;
@@ -58,7 +59,7 @@ public abstract class BaseTypeConverterR
// for misses use a soft reference cache map, as the classes may be
un-deployed at runtime
protected final LRUSoftCache<TypeMapping, TypeMapping> misses = new
LRUSoftCache<TypeMapping, TypeMapping>(1000);
protected final List<TypeConverterLoader> typeConverterLoaders = new
ArrayList<TypeConverterLoader>();
- protected final List<FallbackTypeConverter> fallbackConverters = new
ArrayList<FallbackTypeConverter>();
+ protected final List<FallbackTypeConverter> fallbackConverters = new
CopyOnWriteArrayList<FallbackTypeConverter>();
protected final PackageScanClassResolver resolver;
protected Injector injector;
protected final FactoryFinder factoryFinder;