You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2010/10/26 08:41:26 UTC

svn commit: r1027380 - /camel/trunk/camel-core/src/main/java/org/apache/camel/impl/osgi/Activator.java

Author: davsclaus
Date: Tue Oct 26 06:41:25 2010
New Revision: 1027380

URL: http://svn.apache.org/viewvc?rev=1027380&view=rev
Log:
CAMEL-3277: Fixed threading issue with OSGi causing to load type converters concurrently and causing Camel apps to fail thereafter. Thanks to Lars for the patch.

Modified:
    camel/trunk/camel-core/src/main/java/org/apache/camel/impl/osgi/Activator.java

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/osgi/Activator.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/osgi/Activator.java?rev=1027380&r1=1027379&r2=1027380&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/impl/osgi/Activator.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/impl/osgi/Activator.java Tue Oct 26 06:41:25 2010
@@ -21,7 +21,19 @@ import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStreamReader;
 import java.net.URL;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Dictionary;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Hashtable;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+import java.util.StringTokenizer;
 import java.util.concurrent.ConcurrentHashMap;
 
 import org.apache.camel.CamelContext;
@@ -266,7 +278,9 @@ public class Activator implements Bundle
             super(bundle, TypeConverter.class);
         }
 
-        public void load(TypeConverterRegistry registry) throws Exception {
+        public synchronized void load(TypeConverterRegistry registry) throws Exception {
+            // must be synchronized to ensure we don't load type converters concurrently
+            // which cause Camel apps to fails in OSGi thereafter
             loader.load(registry);
         }