Author: davsclaus Date: Tue Feb 12 09:04:06 2013 New Revision: 1445067 URL: http://svn.apache.org/r1445067 Log: CAMEL-6068: Fixed starting up CamelContext in blueprint may lead to a deadlock. Thanks to Aki Yoshida for the patch.
Modified: camel/branches/camel-2.9.x/ (props changed) camel/branches/camel-2.9.x/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContext.java Propchange: camel/branches/camel-2.9.x/ ------------------------------------------------------------------------------ Merged /camel/trunk:r1445064 Merged /camel/branches/camel-2.10.x:r1445065 Propchange: camel/branches/camel-2.9.x/ ------------------------------------------------------------------------------ Binary property 'svnmerge-integrated' - no diff available. Modified: camel/branches/camel-2.9.x/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContext.java URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContext.java?rev=1445067&r1=1445066&r2=1445067&view=diff ============================================================================== --- camel/branches/camel-2.9.x/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContext.java (original) +++ camel/branches/camel-2.9.x/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContext.java Tue Feb 12 09:04:06 2013 @@ -92,8 +92,9 @@ public class BlueprintCamelContext exten LOG.debug("Service {} changed to {}", event, event.getType()); } // look for blueprint container to be registered, and then we can start the CamelContext - if (event.getType() == ServiceEvent.REGISTERED && event.getServiceReference().isAssignableTo(bundleContext.getBundle(), - "org.osgi.service.blueprint.container.BlueprintContainer")) { + if (event.getType() == ServiceEvent.REGISTERED + && event.getServiceReference().isAssignableTo(bundleContext.getBundle(), "org.osgi.service.blueprint.container.BlueprintContainer") + && bundleContext.getBundle().equals(event.getServiceReference().getBundle())) { try { maybeStart(); } catch (Exception e) {