[ 
https://issues.apache.org/jira/browse/CAMEL-18611?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17617591#comment-17617591
 ] 

Nicolas Filotto commented on CAMEL-18611:
-----------------------------------------

After a deeper investigation, it is due to a split packages issue, indeed since 
the changes made for CAMEL-18491, the package {{org.apache.camel.vault}} can be 
found in {{camel-api}} as expected but also in {{camel-main}}. Unfortunately, 
Karaf affects {{camel-main}} to the package {{org.apache.camel.vault}}  such 
that we end up with a ClassNotFoundException when it tries to find the class 
{{org.apache.camel.vault.VaultConfiguration}}.

> camel-karaf - CNFE when using camel-blueprint
> ---------------------------------------------
>
>                 Key: CAMEL-18611
>                 URL: https://issues.apache.org/jira/browse/CAMEL-18611
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-blueprint, camel-karaf
>    Affects Versions: 3.19.0
>            Reporter: Nicolas Filotto
>            Assignee: Nicolas Filotto
>            Priority: Critical
>             Fix For: 3.20.0
>
>
> When we try to deploy routes defined in a blueprint configuration file on 
> Karaf, we end up with an error of type:
>  
> {noformat}
> org.osgi.service.blueprint.container.ComponentDefinitionException: Unable to 
> initialize bean .camelBlueprint.factory.camel-1
>  at 
> org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:593)
>  ~[!/:1.10.3]
>  at 
> org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:703)
>  ~[!/:1.10.3]
>  at 
> org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:666)
>  ~[!/:1.10.3]
>  at 
> org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:81) 
> ~[!/:1.10.3]
>  at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
>  at 
> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:90) 
> ~[!/:1.10.3]
>  at 
> org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:360)
>  ~[!/:1.10.3]
>  at 
> org.apache.aries.blueprint.container.BlueprintRepository.createInstance(BlueprintRepository.java:338)
>  ~[!/:1.10.3]
>  at 
> org.apache.aries.blueprint.container.BlueprintRepository.create(BlueprintRepository.java:152)
>  ~[!/:1.10.3]
>  at 
> org.apache.aries.blueprint.container.BlueprintContainerImpl.getComponentInstance(BlueprintContainerImpl.java:809)
>  ~[!/:1.10.3]
>  at 
> org.apache.camel.blueprint.handler.CamelNamespaceHandler$CamelDependenciesFinder.process(CamelNamespaceHandler.java:1127)
>  ~[?:?]
>  at 
> org.apache.aries.blueprint.container.BlueprintContainerImpl.processProcessors(BlueprintContainerImpl.java:573)
>  ~[!/:1.10.3]
>  at 
> org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:417)
>  [!/:1.10.3]
>  at 
> org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:298)
>  [!/:1.10.3]
>  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) 
> [?:?]
>  at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
>  at 
> org.apache.aries.blueprint.container.ExecutorServiceWrapper.run(ExecutorServiceWrapper.java:106)
>  [!/:1.10.3]
>  at 
> org.apache.aries.blueprint.utils.threading.impl.DiscardableRunnable.run(DiscardableRunnable.java:45)
>  [!/:1.10.3]
>  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) 
> [?:?]
>  at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
>  at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
>  [?:?]
>  at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>  [?:?]
>  at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>  [?:?]
>  at java.lang.Thread.run(Thread.java:829) [?:?]
> Caused by: java.lang.NoClassDefFoundError: 
> org/apache/camel/vault/VaultConfiguration
>  at 
> org.apache.camel.impl.engine.AbstractCamelContext.<init>(AbstractCamelContext.java:255)
>  ~[?:?]
>  at 
> org.apache.camel.impl.engine.SimpleCamelContext.<init>(SimpleCamelContext.java:123)
>  ~[?:?]
>  at 
> org.apache.camel.impl.DefaultCamelContext.<init>(DefaultCamelContext.java:144)
>  ~[?:?]
>  at 
> org.apache.camel.blueprint.BlueprintCamelContext.<init>(BlueprintCamelContext.java:59)
>  ~[?:?]
>  at 
> org.apache.camel.blueprint.CamelContextFactoryBean.createContext(CamelContextFactoryBean.java:290)
>  ~[?:?]
>  at 
> org.apache.camel.blueprint.CamelContextFactoryBean.getContext(CamelContextFactoryBean.java:273)
>  ~[?:?]
>  at 
> org.apache.camel.blueprint.CamelContextFactoryBean.getContext(CamelContextFactoryBean.java:94)
>  ~[?:?]
>  at 
> org.apache.camel.core.xml.AbstractCamelContextFactoryBean.getContext(AbstractCamelContextFactoryBean.java:983)
>  ~[?:?]
>  at 
> org.apache.camel.core.xml.AbstractCamelContextFactoryBean.afterPropertiesSet(AbstractCamelContextFactoryBean.java:246)
>  ~[?:?]
>  at 
> org.apache.camel.blueprint.CamelContextFactoryBean.afterPropertiesSet(CamelContextFactoryBean.java:399)
>  ~[?:?]
>  at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
> ~[?:?]
>  at 
> jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>  ~[?:?]
>  at 
> jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  ~[?:?]
>  at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
>  at 
> org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:337)
>  ~[!/:1.10.3]
>  at 
> org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:835) 
> ~[!/:1.10.3]
>  at 
> org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:591)
>  ~[!/:1.10.3]
>  ... 23 more
> Caused by: java.lang.ClassNotFoundException: 
> org.apache.camel.vault.VaultConfiguration not found by 
> org.apache.camel.camel-main [607]
>  at 
> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1585)
>  ~[?:?]
>  at 
> org.apache.felix.framework.BundleWiringImpl.access$300(BundleWiringImpl.java:79)
>  ~[?:?]
>  at 
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1970)
>  ~[?:?]
>  at java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[?:?]
>  at 
> org.apache.felix.framework.BundleWiringImpl.getClassByDelegation(BundleWiringImpl.java:1352)
>  ~[?:?]
> {noformat}
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to