Hello


wt., 27 wrz 2022 o 10:44 Ephemeris Lappis <ephemeris.lap...@gmail.com>
napisał(a):

> Hello.
>
> The versions are the following :
>
> Karaf 4.4.1
> Camel 2.25.4 (so the same for camel-master, camel-zookeeper, and so on)
>
> The curator version that is linked to these versions is 2.12.0 :
> 113 │ Active   │  50 │ 2.12.0             │ Curator Client
> 114 │ Active   │  50 │ 2.12.0             │ Curator Framework
> 115 │ Active   │  50 │ 2.12.0             │ Curator Recipes
> 116 │ Active   │  50 │ 2.12.0             │ Curator Service Discovery
>
> And indeed, the missing package is not exported by any started bundle.
>
> What kind of workaround could you suggest ?
>
> My Camel Cluster Service is provided using a feature :
> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
> <features xmlns="http://karaf.apache.org/xmlns/features/v1.6.0";
> name="my-test-26-karaf-s-master">
>
> <repository>mvn:org.apache.camel.karaf/apache-camel/2.25.4/xml/features</repository>
>     <feature name="my-test-26-karaf-s-master" description="Fifi-T26 ::
> Master" version="0.0.1.SNAPSHOT">
>         <details>Fifi-T26 :: Master Service</details>
>         <feature version="2.25.4"
> prerequisite="true">camel-master</feature>
>         <feature version="2.25.4"
> prerequisite="true">camel-zookeeper</feature>
>
> <bundle>mvn:my.tests/my-test-26-karaf-s-master/0.0.1-SNAPSHOT</bundle>
>
> <capability>osgi.service;objectClass=org.apache.camel.cluster.CamelClusterService);effective:=active</capability>
>     </feature>
> </features>
>
> Should it be possible to add other bundles/features to provide the
> missing packages out of the current zookeeper ?
>

https://issues.apache.org/jira/browse/CURATOR-464 describes your problem
and it's "fixed in 5.0.0" - I have no idea if camel-zookeeper will even
work with Curator 5.0.0...

And one of the comments under CURATOR-464 confirms my theory:

Unfortunately, the committers don't know much about OSGi. We've always
> relied on contributors to maintain OSGi compatibility.
>

I don't have any special workaround for you unfortunately... You've
mentioned moving away from Red Hat Fuse. To get similar (as in Fuse 6)
camel-master / zookeeper behavior, looks like you need something more than
a workaround...
But if you really want a workaround, you'd have to ... fork curator 2.12.0
and recompile it to use shaded or imported version of
com.google.common.cache package...

regards
Grzegorz Grzybek


>
> Thanks.
>
> Regards.
>
>
>
> Le mar. 27 sept. 2022 à 10:27, Grzegorz Grzybek <gr.grzy...@gmail.com> a
> écrit :
> >
> > Hello
> >
> > wt., 27 wrz 2022 o 09:16 Ephemeris Lappis <ephemeris.lap...@gmail.com>
> > napisał(a):
> >
> > > Hello.
> > >
> > > I'm trying to port to Karaf some bundles that we run today on Red-Hat
> > > Fuse that provides a "master" component to handle concurrent
> > > consumers.
> > >
> >
> > Which version of Red Hat Fuse are you using? Version 6 has very
> > sensitive/advanced/complex curator and zookeeper integration, because
> some
> > classes are changed to "fix" the original OSGi problems in old version of
> > curator.
> > Upstream curator/zookeeper versions have (AFAIK) OSGi integration simply
> > inherited from older contributions and sometimes it may cause problems in
> > later versions - mostly related to Guava integration.
> >
> >
> > >
> > > I've configured a Camel Cluster Service based on the ZooKeeper
> > > implementation, exposed a service in a bundle, and then I reference
> > > this service in the bundle that provides routes using "master".
> > >
> >
> > Which Camel version, Which Zookeeper version?
> >
> >
> > >
> > > But I've an exception that seems to be related to an internal
> > > dependance of the ZooKeeper service : Caused by:
> > > java.lang.ClassNotFoundException:
> > > org.apache.curator.shaded.com.google.common.cache.CacheBuilder not
> > > found by curator-framework
> > >
> >
> > Which Curator version are you using? I've quickly checked versions
> between
> > 2.6.0 and 5.1.0, but all these simply import-package
> > com.google.common.cache - so they expect the package to come from Guava
> > instead of being shaded/private-packaged..
> >
> >
> > >
> > > I don't understand exactly what this "curator framework" does, but
> > > something is probably missing in the camel-zookeeper feature.
> > >
> >
> > Curator is to Zookeeper like Guava was supposed to be
> > (integration/versioning problems aside) java.util collections. Kind of
> > higher-level library with "recipes" implemented on top of low-level
> > Zookeeper "primitives".
> >
> >
> > >
> > > Has someone used these components before, and experienced the same
> issues ?
> > >
> > > I've seen some kind of bug report about the bad OSGi integration of
> > > this framework, but no solution or at least workaround to make it
> > > work.
> > >
> >
> > If you share more details (versions, features you've installed, Karaf
> > version used), we can try establishing some workaround ;)
> >
> >
> > > Should I use another Camel Cluster implementation ?
> > >
> >
> > I can help with OSGi, not with Camel Clustering ;)
> >
> > kind regards
> > Grzegorz Grzybek
> >
> >
> > >
> > > Thanks for your help.
> > >
> > > Regards.
> > >
>

Reply via email to