ServiceMix 4
  1. ServiceMix 4
  2. SMX4-744

specify camel feature bundle start level less than 60

    Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.4.0
    • Component/s: None
    • Labels:
      None

      Description

      so that the camel related bundles always get started before end users bundle, this can avoid lots of asyn issues customer may encounter.

      More discussion from [1]

      [1]http://servicemix.396122.n5.nabble.com/DISCUSS-how-about-specify-camel-feature-bundle-level-less-than-60-td3334566.html

        Issue Links

          Activity

          Hide
          metatech added a comment - - edited

          The message "did not finish in 10000ms" seems to be caused by the presence of felix "eventadmin" component, probably due to a bug in Felix. When "eventadmin" is uninstalled, the stop takes a few seconds instead of a few minutes (depending on the number of bundles using the component). Below is the stack trace which is executed when a using bundle get stopped, in which SMX can get stuck for several minutes :

          "Timer-1" daemon prio=6 tid=0x5fdcd000 nid=0x27c4 in Object.wait() [0x6254f000]
             java.lang.Thread.State: WAITING (on object monitor)
          	at java.lang.Object.wait(Native Method)
          	at java.lang.Object.wait(Object.java:485)
          	at org.apache.felix.framework.Felix.acquireGlobalLock(Felix.java:4820)
          	- locked <0x1e555d78> (a [Ljava.lang.Object;)
          	at org.apache.felix.framework.Felix.access$400(Felix.java:80)
          	at org.apache.felix.framework.Felix$FelixResolver.resolve(Felix.java:4080)
          	at org.apache.felix.framework.ModuleImpl.searchDynamicImports(ModuleImpl.java:1412)
          	at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:734)
          	at org.apache.felix.framework.ModuleImpl.access$400(ModuleImpl.java:71)
          	at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1768)
          	at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
          	at org.apache.felix.framework.ModuleImpl.getClassByDelegation(ModuleImpl.java:645)
          	at org.apache.felix.framework.ServiceRegistrationImpl$ServiceReferenceImpl.isAssignableTo(ServiceRegistrationImpl.java:519)
          	at org.apache.felix.framework.util.Util.isServiceAssignable(Util.java:275)
          	at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:855)
          	at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:733)
          	at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:662)
          	at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3772)
          	at org.apache.felix.framework.Felix.access$000(Felix.java:80)
          	at org.apache.felix.framework.Felix$2.serviceChanged(Felix.java:729)
          	at org.apache.felix.framework.ServiceRegistry.unregisterService(ServiceRegistry.java:135)
          	at org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:129)
          	at org.springframework.osgi.util.OsgiServiceUtils.unregisterService(OsgiServiceUtils.java:41)
          	at org.springframework.osgi.context.support.AbstractOsgiBundleApplicationContext.unpublishContextAsOsgiService(AbstractOsgiBundleApplicationContext.java:358)
          	at org.springframework.osgi.context.support.AbstractOsgiBundleApplicationContext.doClose(AbstractOsgiBundleApplicationContext.java:195)
          	at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.access$501(AbstractDelegatedExecutionApplicationContext.java:69)
          	at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$2.run(AbstractDelegatedExecutionApplicationContext.java:214)
          	at org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
          	at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.normalClose(AbstractDelegatedExecutionApplicationContext.java:210)
          	at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.close(DependencyWaiterApplicationContextExecutor.java:374)
          	at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.doClose(AbstractDelegatedExecutionApplicationContext.java:236)
          	at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:970)
          	- locked <0x22a02118> (a java.lang.Object)
          	at org.springframework.osgi.extender.internal.activator.ContextLoaderListener$3.run(ContextLoaderListener.java:805)
          	at org.springframework.osgi.extender.internal.util.concurrent.RunnableTimedExecution$MonitoredRunnable.run(RunnableTimedExecution.java:60)
          	at org.springframework.scheduling.timer.DelegatingTimerTask.run(DelegatingTimerTask.java:70)
          	at java.util.TimerThread.mainLoop(Timer.java:512)
          	at java.util.TimerThread.run(Timer.java:462)
          
          Show
          metatech added a comment - - edited The message "did not finish in 10000ms" seems to be caused by the presence of felix "eventadmin" component, probably due to a bug in Felix. When "eventadmin" is uninstalled, the stop takes a few seconds instead of a few minutes (depending on the number of bundles using the component). Below is the stack trace which is executed when a using bundle get stopped, in which SMX can get stuck for several minutes : "Timer-1" daemon prio=6 tid=0x5fdcd000 nid=0x27c4 in Object.wait() [0x6254f000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:485) at org.apache.felix.framework.Felix.acquireGlobalLock(Felix.java:4820) - locked <0x1e555d78> (a [Ljava.lang.Object;) at org.apache.felix.framework.Felix.access$400(Felix.java:80) at org.apache.felix.framework.Felix$FelixResolver.resolve(Felix.java:4080) at org.apache.felix.framework.ModuleImpl.searchDynamicImports(ModuleImpl.java:1412) at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:734) at org.apache.felix.framework.ModuleImpl.access$400(ModuleImpl.java:71) at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1768) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) at org.apache.felix.framework.ModuleImpl.getClassByDelegation(ModuleImpl.java:645) at org.apache.felix.framework.ServiceRegistrationImpl$ServiceReferenceImpl.isAssignableTo(ServiceRegistrationImpl.java:519) at org.apache.felix.framework.util.Util.isServiceAssignable(Util.java:275) at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:855) at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:733) at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:662) at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:3772) at org.apache.felix.framework.Felix.access$000(Felix.java:80) at org.apache.felix.framework.Felix$2.serviceChanged(Felix.java:729) at org.apache.felix.framework.ServiceRegistry.unregisterService(ServiceRegistry.java:135) at org.apache.felix.framework.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:129) at org.springframework.osgi.util.OsgiServiceUtils.unregisterService(OsgiServiceUtils.java:41) at org.springframework.osgi.context.support.AbstractOsgiBundleApplicationContext.unpublishContextAsOsgiService(AbstractOsgiBundleApplicationContext.java:358) at org.springframework.osgi.context.support.AbstractOsgiBundleApplicationContext.doClose(AbstractOsgiBundleApplicationContext.java:195) at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.access$501(AbstractDelegatedExecutionApplicationContext.java:69) at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$2.run(AbstractDelegatedExecutionApplicationContext.java:214) at org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85) at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.normalClose(AbstractDelegatedExecutionApplicationContext.java:210) at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.close(DependencyWaiterApplicationContextExecutor.java:374) at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.doClose(AbstractDelegatedExecutionApplicationContext.java:236) at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:970) - locked <0x22a02118> (a java.lang.Object) at org.springframework.osgi.extender.internal.activator.ContextLoaderListener$3.run(ContextLoaderListener.java:805) at org.springframework.osgi.extender.internal.util.concurrent.RunnableTimedExecution$MonitoredRunnable.run(RunnableTimedExecution.java:60) at org.springframework.scheduling.timer.DelegatingTimerTask.run(DelegatingTimerTask.java:70) at java.util.TimerThread.mainLoop(Timer.java:512) at java.util.TimerThread.run(Timer.java:462)
          Hide
          metatech added a comment -

          The "osgi:reference" has one drawback : the referenced component (in this example camel-jetty) cannot be hot-redeployed. Probably because once the OSGi reference becomes invalid, the using bundles are waiting to rebind it, which prevents the using bundles from being cleanly stopped (see log below).

          OcsgiServiceProxyFactoryBean      | Service reference [[org.apache.camel.spi.ComponentResolver]] was unregistered and unbound from the service proxy
          OsgiServiceBindingUtils          | Calling unbind on org.springframework.osgi.service.importer.support.internal.aop.ServiceProviderTCCLInterceptor$ServiceProviderTCCLListener@1840879 w/ reference [org.apache.camel.spi.ComponentResolver]
          RunnableTimedExecution           | Closing runnable for context OsgiBundleXmlApplicationContext(bundle=mycomponent, config=osgibundle:/META-INF/spring/*.xml) did not finish in 10000ms; consider taking a snapshot and then shutdown the VM in case the thread still hangs
          
          Show
          metatech added a comment - The "osgi:reference" has one drawback : the referenced component (in this example camel-jetty) cannot be hot-redeployed. Probably because once the OSGi reference becomes invalid, the using bundles are waiting to rebind it, which prevents the using bundles from being cleanly stopped (see log below). OcsgiServiceProxyFactoryBean | Service reference [[org.apache.camel.spi.ComponentResolver]] was unregistered and unbound from the service proxy OsgiServiceBindingUtils | Calling unbind on org.springframework.osgi.service.importer.support.internal.aop.ServiceProviderTCCLInterceptor$ServiceProviderTCCLListener@1840879 w/ reference [org.apache.camel.spi.ComponentResolver] RunnableTimedExecution | Closing runnable for context OsgiBundleXmlApplicationContext(bundle=mycomponent, config=osgibundle:/META-INF/spring/*.xml) did not finish in 10000ms; consider taking a snapshot and then shutdown the VM in case the thread still hangs
          Hide
          metatech added a comment -

          Here is a safe way to declare a runtime dependency.
          The using bundle will wait until the Camel component is available in the OSGi registry, which means that it is fully initialized.
          Extract from camel-config.xml :

           
          <osgi:reference id="jetty" interface="org.apache.camel.spi.ComponentResolver" filter="(component=jetty)"/>
          
          Show
          metatech added a comment - Here is a safe way to declare a runtime dependency. The using bundle will wait until the Camel component is available in the OSGi registry, which means that it is fully initialized. Extract from camel-config.xml : <osgi:reference id= "jetty" interface = "org.apache.camel.spi.ComponentResolver" filter= "(component=jetty)" />
          Hide
          metatech added a comment -

          Beware : the workaround reduces the likelihood of the race condition to occur, but does not remove it.
          See sample error :
          org.apache.camel.RuntimeCamelException: org.apache.camel.TypeConverterLoaderException: Failed to load type converters because of: Cannot find any type converter classes from the following packages: [org.apache.camel.component.file, org.apache.camel.component.bean, org.apache.camel.converter]
          which is discussed here :
          http://camel.465427.n5.nabble.com/Camel-under-OSGi-without-Spring-et-al-tp4507473p5038265.html

          Show
          metatech added a comment - Beware : the workaround reduces the likelihood of the race condition to occur, but does not remove it. See sample error : org.apache.camel.RuntimeCamelException: org.apache.camel.TypeConverterLoaderException: Failed to load type converters because of: Cannot find any type converter classes from the following packages: [org.apache.camel.component.file, org.apache.camel.component.bean, org.apache.camel.converter] which is discussed here : http://camel.465427.n5.nabble.com/Camel-under-OSGi-without-Spring-et-al-tp4507473p5038265.html
          Hide
          metatech added a comment -

          Below is an example of full stack trace, for ease of searchability.
          The workaround to change the start-level to 50 in apache-camel-2.6.0-features.xml fixed it : the class org.apache.camel.core.osgi.OsgiComponentResolver can find the component.

          14:12:19,918 | ERROR | rint Extender: 2 | BlueprintContainerImpl | 7 - org.apache.aries.blueprint - 0.2.0.incubating | Unable to start blueprint container for bundle camel-blueprint
          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:499)[78:org.apache.camel.camel-blueprint:2.6.0]
          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_25]
          at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)[:1.6.0_25]
          at java.util.concurrent.FutureTask.run(FutureTask.java:138)[:1.6.0_25]
          at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)[:1.6.0_25]
          at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)[:1.6.0_25]
          at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_25]
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_25]
          at java.lang.Thread.run(Thread.java:662)[:1.6.0_25]
          Caused by: org.apache.camel.FailedToCreateRouteException: Failed to create route route1: Route[[From[jetty:http://0.0.0.0:8192/PersonService?handlers... because of Failed to resolve endpoint: jetty://http://0.0.0.0:8192/PersonService?handlers=mySecurityHandler due to: org.osgi.service.blueprint.container.NoSuchComponentException: No component with id 'jetty://http://0.0.0.0:8192/PersonService?handlers=mySecurityHandler' could be found
          at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:165)
          at org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:701)
          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:77)
          at org.apache.camel.blueprint.BlueprintCamelContext.init(BlueprintCamelContext.java:72)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.6.0_25]
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)[:1.6.0_25]
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)[:1.6.0_25]
          at java.lang.reflect.Method.invoke(Method.java:597)[:1.6.0_25]
          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: jetty://http://0.0.0.0:8192/PersonService?handlers=mySecurityHandler due to: org.osgi.service.blueprint.container.NoSuchComponentException: No component with id 'jetty://http://0.0.0.0:8192/PersonService?handlers=mySecurityHandler' could be found
          at org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:449)
          at org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:47)
          at org.apache.camel.model.RouteDefinition.resolveEndpoint(RouteDefinition.java:175)
          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:737)
          at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:160)
          ... 34 more
          Caused by: org.apache.camel.RuntimeCamelException: org.osgi.service.blueprint.container.NoSuchComponentException: No component with id 'jetty://http://0.0.0.0:8192/PersonService?handlers=mySecurityHandler' could be found
          at org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1139)
          at org.apache.camel.impl.PropertyPlaceholderDelegateRegistry.lookup(PropertyPlaceholderDelegateRegistry.java:47)
          at org.apache.camel.impl.DefaultCamelContext.createEndpoint(DefaultCamelContext.java:1975)
          at org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:441)
          ... 42 more
          Caused by: org.osgi.service.blueprint.container.NoSuchComponentException: No component with id 'jetty://http://0.0.0.0:8192/PersonService?handlers=mySecurityHandler' could be found
          at org.apache.aries.blueprint.container.DependencyGraph.getSortedRecipes(DependencyGraph.java:51)
          at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:214)[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.BlueprintContainerRegistry.lookup(BlueprintContainerRegistry.java:38)
          at org.apache.camel.impl.CompositeRegistry.lookup(CompositeRegistry.java:58)
          at org.apache.camel.impl.PropertyPlaceholderDelegateRegistry.lookup(PropertyPlaceholderDelegateRegistry.java:45)
          ... 44 more

          Show
          metatech added a comment - Below is an example of full stack trace, for ease of searchability. The workaround to change the start-level to 50 in apache-camel-2.6.0-features.xml fixed it : the class org.apache.camel.core.osgi.OsgiComponentResolver can find the component. 14:12:19,918 | ERROR | rint Extender: 2 | BlueprintContainerImpl | 7 - org.apache.aries.blueprint - 0.2.0.incubating | Unable to start blueprint container for bundle camel-blueprint 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:499) [78:org.apache.camel.camel-blueprint:2.6.0] 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_25] at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) [:1.6.0_25] at java.util.concurrent.FutureTask.run(FutureTask.java:138) [:1.6.0_25] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98) [:1.6.0_25] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206) [:1.6.0_25] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_25] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_25] at java.lang.Thread.run(Thread.java:662) [:1.6.0_25] Caused by: org.apache.camel.FailedToCreateRouteException: Failed to create route route1: Route[[From[jetty: http://0.0.0.0:8192/PersonService?handlers ... because of Failed to resolve endpoint: jetty:// http://0.0.0.0:8192/PersonService?handlers=mySecurityHandler due to: org.osgi.service.blueprint.container.NoSuchComponentException: No component with id 'jetty:// http://0.0.0.0:8192/PersonService?handlers=mySecurityHandler ' could be found at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:165) at org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:701) 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:77) at org.apache.camel.blueprint.BlueprintCamelContext.init(BlueprintCamelContext.java:72) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_25] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [:1.6.0_25] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [:1.6.0_25] at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_25] 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: jetty:// http://0.0.0.0:8192/PersonService?handlers=mySecurityHandler due to: org.osgi.service.blueprint.container.NoSuchComponentException: No component with id 'jetty:// http://0.0.0.0:8192/PersonService?handlers=mySecurityHandler ' could be found at org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:449) at org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:47) at org.apache.camel.model.RouteDefinition.resolveEndpoint(RouteDefinition.java:175) 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:737) at org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:160) ... 34 more Caused by: org.apache.camel.RuntimeCamelException: org.osgi.service.blueprint.container.NoSuchComponentException: No component with id 'jetty:// http://0.0.0.0:8192/PersonService?handlers=mySecurityHandler ' could be found at org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1139) at org.apache.camel.impl.PropertyPlaceholderDelegateRegistry.lookup(PropertyPlaceholderDelegateRegistry.java:47) at org.apache.camel.impl.DefaultCamelContext.createEndpoint(DefaultCamelContext.java:1975) at org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:441) ... 42 more Caused by: org.osgi.service.blueprint.container.NoSuchComponentException: No component with id 'jetty:// http://0.0.0.0:8192/PersonService?handlers=mySecurityHandler ' could be found at org.apache.aries.blueprint.container.DependencyGraph.getSortedRecipes(DependencyGraph.java:51) at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:214) [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.BlueprintContainerRegistry.lookup(BlueprintContainerRegistry.java:38) at org.apache.camel.impl.CompositeRegistry.lookup(CompositeRegistry.java:58) at org.apache.camel.impl.PropertyPlaceholderDelegateRegistry.lookup(PropertyPlaceholderDelegateRegistry.java:45) ... 44 more
          Hide
          Freeman Fang added a comment -

          yeah, just mark it as resolved.

          Show
          Freeman Fang added a comment - yeah, just mark it as resolved.
          Hide
          Fernando Ribeiro added a comment -

          Can this issue be closed already?

          Show
          Fernando Ribeiro added a comment - Can this issue be closed already?
          Hide
          Freeman Fang added a comment -

          KARAF-576 introduce start-level for feature, this will be in karaf 2.2.1 release which is coming soon.
          Once karaf 2.2.1 is out, I'll patch camel features.xml to leverage this and ensure bundles in camel features can start early then normal customer router bundles.

          Show
          Freeman Fang added a comment - KARAF-576 introduce start-level for feature, this will be in karaf 2.2.1 release which is coming soon. Once karaf 2.2.1 is out, I'll patch camel features.xml to leverage this and ensure bundles in camel features can start early then normal customer router bundles.

            People

            • Assignee:
              Freeman Fang
              Reporter:
              Freeman Fang
            • Votes:
              1 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development