[ https://issues.apache.org/jira/browse/CAMEL-21745?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17927126#comment-17927126 ]
Nicolas Filotto commented on CAMEL-21745: ----------------------------------------- Hi, just to let you know that issues related to Camel Karaf 4 must be reported directly in the related GitHub project https://github.com/apache/camel-karaf/issues > ZooKeeperClusterService does not work with Blueprint in Karaf > ------------------------------------------------------------- > > Key: CAMEL-21745 > URL: https://issues.apache.org/jira/browse/CAMEL-21745 > Project: Camel > Issue Type: Bug > Components: camel-zookeeper > Affects Versions: 4.8.2 > Environment: Karaf 4.4.7 > Reporter: vincenttang > Priority: Major > Attachments: karaf.log, test.xml > > > *Background:* > I am upgrading an old project that uses Camel 2 in Karaf. Since it utilizes > org.apache.camel.component.zookeeper.policy.ZooKeeperRoutePolicy, the Camel 3 > migration guide suggests replacing it with ZooKeeperClusterService. > [https://camel.apache.org/manual/camel-3-migration-guide.html] > Therefore, I am attempting to use ZooKeeperClusterService with > ClusteredRoutePolicy in Karaf. Attached a test.xml FYI. > *Issue:* > When using *Karaf 4.4.7* and {*}camel-zookeeper 4.8.2{*}, the following > component: > {code:java} > org.apache.camel.component.zookeeper.cluster.ZooKeeperClusterService{code} > does *not* work with Blueprint. > *Exception:* > > {code:java} > {code} > *java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: > org/apache/curator/shaded/com/google/common/cache/CacheLoader > at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:?] > at java.util.concurrent.FutureTask.get(FutureTask.java:191) ~[?:?] > at > java.util.concurrent.AbstractExecutorService.doInvokeAny(AbstractExecutorService.java:204) > ~[?:?] > at > java.util.concurrent.AbstractExecutorService.invokeAny(AbstractExecutorService.java:235) > ~[?:?] > at > org.apache.aries.blueprint.utils.threading.ScheduledExecutorServiceWrapper$4.call(ScheduledExecutorServiceWrapper.java:185) > ~[!/:1.10.3] > at > org.apache.aries.blueprint.utils.threading.ScheduledExecutorServiceWrapper$15.call(ScheduledExecutorServiceWrapper.java:446) > ~[!/:1.10.3] > at > org.apache.aries.blueprint.utils.threading.RWLock.runReadOperation(RWLock.java:33) > ~[!/:1.10.3] > at > org.apache.aries.blueprint.utils.threading.ScheduledExecutorServiceWrapper.runUnlessShutdown(ScheduledExecutorServiceWrapper.java:443) > ~[!/:1.10.3] > at > org.apache.aries.blueprint.utils.threading.ScheduledExecutorServiceWrapper.invokeAny(ScheduledExecutorServiceWrapper.java:180) > ~[!/:1.10.3] > at > org.apache.aries.blueprint.container.BlueprintEventDispatcher.callListener(BlueprintEventDispatcher.java:195) > [!/:1.10.3] > at > org.apache.aries.blueprint.container.BlueprintEventDispatcher.callListeners(BlueprintEventDispatcher.java:178) > [!/:1.10.3] > at > org.apache.aries.blueprint.container.BlueprintEventDispatcher.blueprintEvent(BlueprintEventDispatcher.java:133) > [!/:1.10.3] > at > org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:447) > [!/:1.10.3] > at > org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:298) > [!/:1.10.3] > at > org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:335) > [!/:1.10.3] > at > org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:288) > [!/:1.10.3] > at > org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:284) > [!/:1.10.3] > at > org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:274) > [!/:1.10.3] > at > org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500) > [!/:1.10.3] > at > org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433) > [!/:1.10.3] > at > org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725) > [!/:1.10.3] > at > org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463) > [!/:1.10.3] > at > org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422) > [!/:1.10.3] > at > org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1384) > [org.apache.felix.framework-7.0.5.jar:?] > at > org.apache.felix.framework.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:730) > [org.apache.felix.framework-7.0.5.jar:?] > at > org.apache.felix.framework.EventDispatcher.fireBundleEvent(EventDispatcher.java:485) > [org.apache.felix.framework-7.0.5.jar:?] > at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4847) > [org.apache.felix.framework-7.0.5.jar:?] > at org.apache.felix.framework.Felix.startBundle(Felix.java:2363) > [org.apache.felix.framework-7.0.5.jar:?] > at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1566) > [org.apache.felix.framework-7.0.5.jar:?] > at > org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:297) > [org.apache.felix.framework-7.0.5.jar:?] > at java.lang.Thread.run(Thread.java:840) [?:?] > Caused by: java.lang.NoClassDefFoundError: > org/apache/curator/shaded/com/google/common/cache/CacheLoader > at > org.apache.curator.framework.CuratorFrameworkFactory$Builder.<init>(CuratorFrameworkFactory.java:171) > ~[?:?] > at > org.apache.curator.framework.CuratorFrameworkFactory$Builder.<init>(CuratorFrameworkFactory.java:154) > ~[?:?] > at > org.apache.curator.framework.CuratorFrameworkFactory.builder(CuratorFrameworkFactory.java:80) > ~[?:?] > at > org.apache.camel.component.zookeeper.ZooKeeperCuratorHelper.createCurator(ZooKeeperCuratorHelper.java:48) > ~[?:?] > at > org.apache.camel.component.zookeeper.cluster.ZooKeeperClusterService.getOrCreateCurator(ZooKeeperClusterService.java:241) > ~[?:?] > at > org.apache.camel.component.zookeeper.cluster.ZooKeeperClusterService.createView(ZooKeeperClusterService.java:208) > ~[?:?] > at > org.apache.camel.component.zookeeper.cluster.ZooKeeperClusterService.createView(ZooKeeperClusterService.java:32) > ~[?:?] > at > org.apache.camel.support.cluster.AbstractCamelClusterService.lambda$getView$3(AbstractCamelClusterService.java:147) > ~[?:?] > at > org.apache.camel.util.concurrent.LockHelper.callWithWriteLock(LockHelper.java:94) > ~[?:?] > at > org.apache.camel.support.cluster.AbstractCamelClusterService.getView(AbstractCamelClusterService.java:141) > ~[?:?] > at > org.apache.camel.impl.cluster.ClusteredRoutePolicy.retainClusterView(ClusteredRoutePolicy.java:225) > ~[?:?] > at org.apache.camel.util.ReferenceCount.retain(ReferenceCount.java:51) > ~[?:?] > at > org.apache.camel.impl.cluster.ClusteredRoutePolicy.onInit(ClusteredRoutePolicy.java:164) > ~[?:?] > at > org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:363) > ~[?:?] > at > org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:86) ~[?:?] > at > org.apache.camel.impl.DefaultModelReifierFactory.createRoute(DefaultModelReifierFactory.java:49) > ~[?:?] > at > org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:726) > ~[?:?] > at > org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:592) > ~[?:?] > at > org.apache.camel.impl.engine.AbstractCamelContext.doInit(AbstractCamelContext.java:2433) > ~[?:?] > at org.apache.camel.support.service.BaseService.init(BaseService.java:85) > ~[?:?] > at > org.apache.camel.impl.engine.AbstractCamelContext.init(AbstractCamelContext.java:2068) > ~[?:?] > at > org.apache.camel.support.service.BaseService.start(BaseService.java:115) > ~[?:?] > at > org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2087) > ~[?:?] > at > org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:211) > ~[?:?] > at > org.apache.camel.blueprint.BlueprintCamelContext.start(BlueprintCamelContext.java:234) > ~[?:?] > at > org.apache.camel.blueprint.BlueprintCamelContext.maybeStart(BlueprintCamelContext.java:276) > ~[?:?] > at > org.apache.camel.blueprint.BlueprintCamelContext.blueprintEvent(BlueprintCamelContext.java:180) > ~[?:?] > at > org.apache.aries.blueprint.container.BlueprintEventDispatcher$3.call(BlueprintEventDispatcher.java:197) > ~[?:?] > at > org.apache.aries.blueprint.container.BlueprintEventDispatcher$3.call(BlueprintEventDispatcher.java:195) > ~[?:?] > at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?] > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[?:?] > at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?] > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[?:?] > 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:1136) > ~[?:?] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) > ~[?:?] > ... 1 more > Caused by: java.lang.ClassNotFoundException: > org.apache.curator.shaded.com.google.common.cache.CacheLoader not found by > curator-framework [164] > at > org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1591) > ~[?:?] > at > org.apache.felix.framework.BundleWiringImpl.access$300(BundleWiringImpl.java:79) > ~[?:?] > at > org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1976) > ~[?:?] > at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?] > at > org.apache.curator.framework.CuratorFrameworkFactory$Builder.<init>(CuratorFrameworkFactory.java:171) > ~[?:?] > at > org.apache.curator.framework.CuratorFrameworkFactory$Builder.<init>(CuratorFrameworkFactory.java:154) > ~[?:?] > at > org.apache.curator.framework.CuratorFrameworkFactory.builder(CuratorFrameworkFactory.java:80) > ~[?:?] > at > org.apache.camel.component.zookeeper.ZooKeeperCuratorHelper.createCurator(ZooKeeperCuratorHelper.java:48) > ~[?:?] > at > org.apache.camel.component.zookeeper.cluster.ZooKeeperClusterService.getOrCreateCurator(ZooKeeperClusterService.java:241) > ~[?:?] > at > org.apache.camel.component.zookeeper.cluster.ZooKeeperClusterService.createView(ZooKeeperClusterService.java:208) > ~[?:?] > at > org.apache.camel.component.zookeeper.cluster.ZooKeeperClusterService.createView(ZooKeeperClusterService.java:32) > ~[?:?] > at > org.apache.camel.support.cluster.AbstractCamelClusterService.lambda$getView$3(AbstractCamelClusterService.java:147) > ~[?:?] > at > org.apache.camel.util.concurrent.LockHelper.callWithWriteLock(LockHelper.java:94) > ~[?:?] > at > org.apache.camel.support.cluster.AbstractCamelClusterService.getView(AbstractCamelClusterService.java:141) > ~[?:?] > at > org.apache.camel.impl.cluster.ClusteredRoutePolicy.retainClusterView(ClusteredRoutePolicy.java:225) > ~[?:?] > at org.apache.camel.util.ReferenceCount.retain(ReferenceCount.java:51) > ~[?:?] > at > org.apache.camel.impl.cluster.ClusteredRoutePolicy.onInit(ClusteredRoutePolicy.java:164) > ~[?:?] > at > org.apache.camel.reifier.RouteReifier.doCreateRoute(RouteReifier.java:363) > ~[?:?] > at > org.apache.camel.reifier.RouteReifier.createRoute(RouteReifier.java:86) ~[?:?] > at > org.apache.camel.impl.DefaultModelReifierFactory.createRoute(DefaultModelReifierFactory.java:49) > ~[?:?] > at > org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:726) > ~[?:?] > at > org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:592) > ~[?:?] > at > org.apache.camel.impl.engine.AbstractCamelContext.doInit(AbstractCamelContext.java:2433) > ~[?:?] > at org.apache.camel.support.service.BaseService.init(BaseService.java:85) > ~[?:?] > at > org.apache.camel.impl.engine.AbstractCamelContext.init(AbstractCamelContext.java:2068) > ~[?:?] > at > org.apache.camel.support.service.BaseService.start(BaseService.java:115) > ~[?:?] > at > org.apache.camel.impl.engine.AbstractCamelContext.start(AbstractCamelContext.java:2087) > ~[?:?] > at > org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:211) > ~[?:?] > at > org.apache.camel.blueprint.BlueprintCamelContext.start(BlueprintCamelContext.java:234) > ~[?:?] > at > org.apache.camel.blueprint.BlueprintCamelContext.maybeStart(BlueprintCamelContext.java:276) > ~[?:?] > at > org.apache.camel.blueprint.BlueprintCamelContext.blueprintEvent(BlueprintCamelContext.java:180) > ~[?:?] > at > org.apache.aries.blueprint.container.BlueprintEventDispatcher$3.call(BlueprintEventDispatcher.java:197) > ~[?:?] > at > org.apache.aries.blueprint.container.BlueprintEventDispatcher$3.call(BlueprintEventDispatcher.java:195) > ~[?:?] > at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?] > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[?:?] > at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?] > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[?:?] > 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:1136) > ~[?:?] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) > ~[?:?] > ... 1 more* > > *Steps to Reproduce:* > # Download and extract Karaf 4.4.7 from official website > [https://karaf.apache.org/download] > # Run > {code:java} > ./karaf{code} > in apache-karaf-4.4.7\bin > # After startup, execute the following commands in the Karaf console: > > {code:java} > feature:install spring > feature:repo-add mvn:org.apache.camel.karaf/apache-camel/4.8.2/xml/features > feature:install camel > feature:install camel-jms > feature:install camel-http > feature:install camel-zookeeper > feature:install camel-jetty > feature:install camel-velocity > feature:install camel-ftp > feature:install camel-blueprint{code} > # Exit Karaf by pressing Ctrl + d. > # Place the attached *test.xml* into apache-karaf-4.4.7\deploy > # Run > {code:java} > ./start{code} > in apache-karaf-4.4.7\bin > # Check the karaf.log for errors in apache-karaf-4.4.7\data\log -- This message was sent by Atlassian Jira (v8.20.10#820010)