Author: davsclaus
Date: Fri Jul 15 08:39:49 2011
New Revision: 1147021

URL: http://svn.apache.org/viewvc?rev=1147021&view=rev
Log:
CAMEL-4231: Fixed camel not being able to run in Apache ServiceMix, due osgi 
and type converter loading issue. Thanks to Freeman for the patch.

Modified:
    
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/converter/BaseTypeConverterRegistry.java
    
camel/trunk/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiTypeConverter.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=1147021&r1=1147020&r2=1147021&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
 Fri Jul 15 08:39:49 2011
@@ -383,7 +383,7 @@ public abstract class BaseTypeConverterR
     /**
      * Loads the core type converters which is mandatory to use Camel
      */
-    protected void loadCoreTypeConverters() throws Exception {
+    public void loadCoreTypeConverters() throws Exception {
         int before = typeMappings.size();
 
         // load all the type converters from camel-core

Modified: 
camel/trunk/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiTypeConverter.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiTypeConverter.java?rev=1147021&r1=1147020&r2=1147021&view=diff
==============================================================================
--- 
camel/trunk/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiTypeConverter.java
 (original)
+++ 
camel/trunk/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiTypeConverter.java
 Fri Jul 15 08:39:49 2011
@@ -147,6 +147,14 @@ public class OsgiTypeConverter extends S
             }
         }, injector, factoryFinder);
 
+        try {
+            // only load the core type converters, as osgi activator will keep 
track on bundles
+            // being installed/uninstalled and load type converters as part of 
that process
+            answer.loadCoreTypeConverters();
+        } catch (Exception e) {
+            throw new RuntimeCamelException("Error loading CoreTypeConverter 
due: " + e.getMessage(), e);
+        }
+
         // load the type converters the tracker has been tracking
         Object[] services = this.tracker.getServices();
         if (services != null) {
@@ -159,12 +167,6 @@ public class OsgiTypeConverter extends S
             }
         }
 
-        try {
-            ServiceHelper.startService(answer);
-        } catch (Exception e) {
-            throw new RuntimeCamelException("Error staring OSGiTypeConverter 
due: " + e.getMessage(), e);
-        }
-
         LOG.trace("Created TypeConverter: {}", answer);
         return answer;
     }


Reply via email to