Uploaded image for project: 'FUSE Mediation Router'
  1. FUSE Mediation Router
  2. MR-434

Cannot run Camel route if more than one Camel component is deployed in OSGi

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 2.10.0-fuse-71-047
    • 2.6.0-fuse-00-00
    • None
    • None

    Description

      If there are multiple versions of Camel deployed into OSGi simultaneously, then Camel routes might fail to start but raise

      org.osgi.service.blueprint.container.ComponentDefinitionException: Unable to intialize bean camel-1
              at org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:635)[7:org.apache.aries.blueprint:0.2.0.incubating]
              at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:744)[7:org.apache.aries.blueprint:0.2.0.incubating]
              at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:64)[7:org.apache.aries.blueprint:0.2.0.incubating]
              at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:219)[7:org.apache.aries.blueprint:0.2.0.incubating]
              at org.apache.aries.blueprint.container.BlueprintRepository.createInstance(BlueprintRepository.java:198)[7:org.apache.aries.blueprint:0.2.0.incubating]
              at org.apache.aries.blueprint.container.BlueprintRepository.create(BlueprintRepository.java:137)[7:org.apache.aries.blueprint:0.2.0.incubating]
              at org.apache.aries.blueprint.container.BlueprintContainerImpl.getComponentInstance(BlueprintContainerImpl.java:702)[7:org.apache.aries.blueprint:0.2.0.incubating]
              at org.apache.camel.blueprint.handler.CamelNamespaceHandler$CamelDependenciesFinder.process(CamelNamespaceHandler.java:502)[201:org.apache.camel.camel-blueprint:2.6.0.fuse-SNAPSHOT]
              at org.apache.aries.blueprint.container.BlueprintContainerImpl.processProcessors(BlueprintContainerImpl.java:479)[7:org.apache.aries.blueprint:0.2.0.incubating]
              at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:299)[7:org.apache.aries.blueprint:0.2.0.incubating]
              at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:213)[7:org.apache.aries.blueprint:0.2.0.incubating]
              at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)[:1.6.0_11]
              at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)[:1.6.0_11]
              at java.util.concurrent.FutureTask.run(FutureTask.java:138)[:1.6.0_11]
              at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)[:1.6.0_11]
              at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:207)[:1.6.0_11]
              at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_11]
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_11]
              at java.lang.Thread.run(Thread.java:619)[:1.6.0_11]
      Caused by: org.apache.camel.FailedToCreateRouteException: Failed to create route route1: 
      Route[[From[timer://myTimer?fixedRate=true&period=2000]] -> ... because of Failed to resolve endpoint:
      timer://myTimer?fixedRate=true&period=2000 due to: Cannot auto create component: timer
              at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:166)
              at org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:700)
              at org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:1623)
              at org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1412)
              at org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1321)
              at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:65)
              at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:52)
              at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1299)
              at org.apache.camel.blueprint.BlueprintCamelContext.maybeStart(BlueprintCamelContext.java:78)
              at org.apache.camel.blueprint.BlueprintCamelContext.init(BlueprintCamelContext.java:73)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.6.0_11]
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)[:1.6.0_11]
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)[:1.6.0_11]
              at java.lang.reflect.Method.invoke(Method.java:597)[:1.6.0_11]
              at org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:221)[7:org.apache.aries.blueprint:0.2.0.incubating]
              at org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:844)[7:org.apache.aries.blueprint:0.2.0.incubating]
              at org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:633)[7:org.apache.aries.blueprint:0.2.0.incubating]
              ... 18 more
      Caused by: org.apache.camel.ResolveEndpointFailedException: 
      Failed to resolve endpoint: timer://myTimer?fixedRate=true&period=2000 due to: Cannot auto create component: timer
              at org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:448)
              at org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:47)
              at org.apache.camel.model.RouteDefinition.resolveEndpoint(RouteDefinition.java:176)
              at org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:110)
              at org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:116)
              at org.apache.camel.model.FromDefinition.resolveEndpoint(FromDefinition.java:72)
              at org.apache.camel.impl.DefaultRouteContext.getEndpoint(DefaultRouteContext.java:88)
              at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:755)
              at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:161)
              ... 34 more
      Caused by: org.apache.camel.RuntimeCamelException: Cannot auto create component: timer
              at org.apache.camel.impl.DefaultCamelContext.getComponent(DefaultCamelContext.java:295)
              at org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:425)
              ... 42 more
      Caused by: java.lang.ClassCastException: org.apache.camel.impl.osgi.Activator$BundleComponentResolver cannot be cast to org.apache.camel.spi.ComponentResolver
              at org.apache.camel.core.osgi.OsgiComponentResolver.getComponent(OsgiComponentResolver.java:63)
              at org.apache.camel.blueprint.BlueprintComponentResolver.resolveComponent(BlueprintComponentResolver.java:59)
              at org.apache.camel.impl.DefaultCamelContext.getComponent(DefaultCamelContext.java:286)
              ... 43 more
      

      Attachments

        Activity

          People

            ikanello1@redhat.com Ioannis Kanellos
            rhn-support-tmielke Torsten Mielke
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: