Hello.

Thanks for your explanations.

As I'm not sure the best way for us now should be doing our own
changes on camel-zookeper, curator and so on, could you advise about
an alternative Cluster Service that actually works with master, and
that I can use, at least for tests (jgroups for example) ?

Thanks again.

Regards.

Le mar. 27 sept. 2022 à 10:54, Grzegorz Grzybek <gr.grzy...@gmail.com> a écrit :
>
> 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