[
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)