Repository: camel
Updated Branches:
  refs/heads/camel-2.15.x cb67fe978 -> 508c1dfab
  refs/heads/camel-2.16.x b4f2374ea -> 206a46434
  refs/heads/master e4223b9a0 -> d3bfca99d


CAMEL-9543 - Discovering new type converters in OSGi wipes out those manually 
added


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/d3bfca99
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/d3bfca99
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/d3bfca99

Branch: refs/heads/master
Commit: d3bfca99d8dfdf51ee3e52d4622f7ecd71ed66f9
Parents: e4223b9
Author: Jonathan Anstey <jans...@gmail.com>
Authored: Wed Jan 27 23:53:45 2016 -0330
Committer: Jonathan Anstey <jans...@gmail.com>
Committed: Wed Jan 27 23:53:45 2016 -0330

----------------------------------------------------------------------
 .../apache/camel/core/osgi/OsgiTypeConverter.java  | 17 ++++-------------
 1 file changed, 4 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/d3bfca99/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiTypeConverter.java
----------------------------------------------------------------------
diff --git 
a/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiTypeConverter.java
 
b/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiTypeConverter.java
index c25e479..46767fe 100644
--- 
a/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiTypeConverter.java
+++ 
b/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiTypeConverter.java
@@ -62,19 +62,8 @@ public class OsgiTypeConverter extends ServiceSupport 
implements TypeConverter,
     }
 
     public Object addingService(ServiceReference<TypeConverterLoader> 
serviceReference) {
-        LOG.trace("AddingService: {}", serviceReference);
+        LOG.trace("AddingService: {}, Bundle: {}", serviceReference, 
serviceReference.getBundle());        
         TypeConverterLoader loader = 
bundleContext.getService(serviceReference);
-        // just make sure we don't load the bundle converter this time
-        if (delegate != null) {
-            try {
-                ServiceHelper.stopService(this.delegate);
-            } catch (Exception e) {
-                // ignore
-                LOG.debug("Error stopping service due: " + e.getMessage() + ". 
This exception will be ignored.", e);
-            }
-            // It can force camel to reload the type converter again
-            this.delegate = null;
-        }
         return loader;
     }
 
@@ -82,7 +71,7 @@ public class OsgiTypeConverter extends ServiceSupport 
implements TypeConverter,
     }
 
     public void removedService(ServiceReference<TypeConverterLoader> 
serviceReference, Object o) {
-        LOG.trace("RemovedService: {}", serviceReference);
+        LOG.trace("RemovedService: {}, Bundle: {}", serviceReference, 
serviceReference.getBundle());  
         try {
             ServiceHelper.stopService(this.delegate);
         } catch (Exception e) {
@@ -91,6 +80,8 @@ public class OsgiTypeConverter extends ServiceSupport 
implements TypeConverter,
         }
         // It can force camel to reload the type converter again
         this.delegate = null;
+        
+        // TODO: reloading all type converters when one service is removed is 
suboptimal...
     }
 
     @Override

Reply via email to