Author: davsclaus Date: Tue Feb 12 08:57:28 2013 New Revision: 1445065 URL: http://svn.apache.org/r1445065 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.10.x/ (props changed) camel/branches/camel-2.10.x/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContext.java Propchange: camel/branches/camel-2.10.x/ ------------------------------------------------------------------------------ Merged /camel/trunk:r1445064 Propchange: camel/branches/camel-2.10.x/ ------------------------------------------------------------------------------ Binary property 'svnmerge-integrated' - no diff available. Modified: camel/branches/camel-2.10.x/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContext.java URL: http://svn.apache.org/viewvc/camel/branches/camel-2.10.x/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContext.java?rev=1445065&r1=1445064&r2=1445065&view=diff ============================================================================== --- camel/branches/camel-2.10.x/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContext.java (original) +++ camel/branches/camel-2.10.x/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/BlueprintCamelContext.java Tue Feb 12 08:57:28 2013 @@ -121,8 +121,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) {