Personally, I've used blueprint with OSGI, Camel for several years now -
still works just fine even with the latest version of Karaf (4.3.X -
haven't tried 4.4.1), Camel (3.18.1), and JDK 11.

On Tue, Sep 6, 2022 at 4:03 AM Bert Speckels <bert.speck...@gmail.com>
wrote:

> Some (all) good points Raymon
>
> I think this is a very good summary and I have nothing to add :-)
>
> Currently we are trying to use some workarounds:
> - Live without CDI ... I think this is less painful than we think at the
> moment.
> - Build our own Endpoint DSL :-) ... not quite difficult
> - Wrap Morphia for MongoDB in our own OSGI bundle (may that works)
>
> And last but not least: Contributing to open source is definitely an option
> for me. But first I have to "get my feet wet" ...
>
> With kind regards
> Bert.
>
> Am Di., 6. Sept. 2022 um 10:35 Uhr schrieb ski n <raymondmees...@gmail.com
> >:
>
> > Hi Bert,
> >
> > The mailing list is fine for general discussions regarding Camel. It's
> > surely not just about questions on errors, but some share experience,
> > blogs, releases, projects or just need to some help with decisions they
> > need to make. This is all community based, so sometimes you are lucky
> that
> > people have time and the knowledge to help you, in other times there is
> no
> > one. We just help each other the best we can.
> >
> > Just note that the Camel Framework is both old and huge. It supports
> > hundreds technologies. Some have very good documentation, some are not so
> > well documented. You are very welcome to help when you have the time.
> >
> > More on Karaf. I personally have not a lot of knowledge on OSGi and CDI
> in
> > particular. I did run Camel with various runtimes including Karaf,
> Wildfly,
> > Spring Boot, Main and I build my own runtime Assimbly runtime (See also
> > discussion on runtimes:
> > https://lists.apache.org/list?users@camel.apache.org:2022-1 in the
> > archive).
> >
> > My personal experience is that every runtime has its advantages and
> > disadvantages. I had the easiest experience with Spring Boot, but for
> sure
> > other runtimes have their appeal. I agree that Karaf is very strong in
> > concept, but in practice can be complicated. Karaf actually was one of
> (or
> > the first) supported runtime for Camel, but that was purely focussed at
> > XML. Over the years it lost some traction, this is because modularization
> > in general (whether it's through OSGi or Java Modularization/Jigsaw) adds
> > complexity to applications and integrations. A lot of developer and
> > projects like frameworks and libraries abbondon this idea. For OSGi they
> > need for example build seperate jars and maintain extra files. The
> > popularity is fading. However there are still some developers that
> provide
> > excellent work in this area (like Jean-Baptiste Onofre) and who knows
> when
> > more people/companies will work on it will gain popularity.
> >
> > I think OSGi still have many advantages like:
> >
> > 1. BuildTime Modularity
> > 2. Runtime Modularity
> > 3. Hybrid (Works equally good on premisse and the cloud)
> >
> > That said I too had some issues with it. For example getting Groovy to
> > work properly:
> >
> > https://issues.apache.org/jira/browse/KARAF-7397?filter=-2
> >
> > At the end I found that for most runtimes one needs to adjust too much
> > code to let it run for the specific runtime. I just want to write plain
> > Java/Camel code and used Maven/Docker for
> modularization/containerization.
> > That's why I created my own runtime project (
> > https://github.com/assimbly/runtime). In comparison to my project, Karaf
> > however is excellent documented :)
> >
> > My point is that in open source there are always multiple strategies to
> > work on problems:
> >
> > 1. Report/Ask
> >
> > Use channels to ask/report. For Camel these are the mailing list, Zulip
> > (chat), StackOverflow and Jira. The mailing list/zulip are the most
> > approachable, but there you probably only get a direction how to get to a
> > solution (or even nothing, when there is no one to help on that subject.
> Or
> > Claus is on vacation...). StackOverflow and Jira have more chance that it
> > will get solved, but then it is expected that you provide a clear
> > description of the problem, the versions/runtime/os you need and often
> code
> > to reproduce the problem. But also this is best effort.
> >
> > 2. Workaround
> >
> > In a lot of cases, because Camel is just Java there are ways to
> workaround
> > an issue. I would say 9 out of 10 I could find some solution for things I
> > run into and that weren't well documented. Sometimes I asked a collegue
> and
> > we did some pair programming.
> >
> > 3. Commercial offerings
> >
> > If you need dedicated support (for example because you are in a large
> > organization) you can get commercial support from for example Red Hat,
> > Talend (and other
> > https://camel.apache.org/manual/commercial-camel-offerings.html). As a
> > free contractor I am dependent on the organization where I work for how
> > this is arranged, so this is not always on option.
> >
> > 4. Multiple middleware
> >
> > Though it may complicate your stack, it's sometimes good to mix
> middleware
> > tools. For example do some work on low-code level, and some in Camel
> code.
> > Maybe you don't need such difficult use cases in your code anymore when
> you
> > combine Camel with other middleware. There are Camel based platforms
> > (Syndesis, Dovetail, Assimbly Gateway) or non-camel based (Apache NiFi,
> > Apache Hop, Apache Kafka). Such middleware complement each other well.
> >
> > 5. Contribute
> >
> > Of course, the best way to make open source project better, is to deep
> > dive and contribute yourself by code or documentation.
> > https://camel.apache.org/community/contributing/
> >
> > In open source your are the driver. Rock on.
> >
> > Raymond
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > On Tue, Sep 6, 2022 at 8:47 AM Bert Speckels <bert.speck...@gmail.com>
> > wrote:
> >
> >>  Thank you for clarification.
> >>
> >> Documentation about Camel Blueprint always reads only as an XML version
> of
> >> the Java DSL, which I don't particularly like. Maybe this is not
> entirely
> >> correct, but all blueprint documentation is about camel routes as XML,
> >> nothing about annotation based CDI (@Service + @Inject etc). Do I miss
> >> something?
> >>
> >> The other obstacle is a MongoDB ORM library for OSGI (currently we use
> >> Morphia). But that is of no concern to the Camel community ;-)
> >>
> >> All this disappoints me mainly because I actually think Camel and Karaf
> >> are
> >> perfect for our purpose ... for many use cases ... but in the end there
> is
> >> a lack of OSGI support for important frameworks/libraries. OSGI doesn't
> >> seem to be popular in the Java community...otherwise there would be more
> >> documentation and support here. I think OSGI is the best solution
> between
> >> microservices and monoliths, although I think Java is only partially
> >> suitable for microservices, at least if you want to run 100+ camel
> routes
> >> as individual microservices.
> >>
> >> Please forgive me for using this mailing list for such general
> >> "discussions" and sharing of experiences. I know: Normally, this mailing
> >> list is about very specific error situations...
> >>
> >> With kind regards
> >> Bert Speckels
> >>
> >> Nicolas Filotto <nfilo...@talend.com> schrieb am Mo., 5. Sept. 2022,
> >> 17:17:
> >>
> >> > Hi,
> >> >
> >> > Regarding camel-cdi, it has been deprecated in 2.x and removed in 3.x
> >> > AFAIK now you are supposed to use camel-blueprint instead.
> >> > Regarding camel-mongodb, it has been removed in 3.16.0 because we met
> >> some
> >> > problems when upgrading the version of the driver, if really needed
> >> please
> >> > create a Jira ticket in the Camel project, I will try to find a
> >> solution to
> >> > put it back.
> >> >
> >> > Regards,
> >> > Nicolas
> >> >
> >> >
> >> >
> >> > ------------------------------
> >> > *From:* Bert Speckels <bert.speck...@gmail.com>
> >> > *Sent:* Monday, September 5, 2022 12:44
> >> > *To:* users@camel.apache.org <users@camel.apache.org>
> >> > *Subject:* Re: Camel and OSGI support
> >> >
> >> >
> >> >
> >> > Hi Again
> >> >
> >> > In fact, I'm extremely frustrated now. So excuse me if I sound a
> little
> >> > rude at this point. Actually I'm not like that. But not much remains
> of
> >> the
> >> > promising approach with Camel and Apache Karaf... similar to our first
> >> > approach with Quarkus.
> >> >
> >> > So far I've only encountered obstacles trying to use the following in
> >> > Karaf.
> >> >
> >> > CDI (most important)
> >> > camel-cdi apparently no longer exists as an OSGI bundle and pax-cdi
> >> alone
> >> > is not enough, because CDI (injection) is mainly used when building
> >> routes.
> >> > As far as I understand, this is only possible with Camel-CDI.
> >> >
> >> > MongoDB
> >> > Camel-mongo doesn't seem to exist either. It may be sufficient here to
> >> > address the MongoDB driver directly, since we probably do not
> >> necessarily
> >> > need the Camel-specific MongoDB API. The only thing missing is a
> >> suitable
> >> > OR mapper with OSGI support.
> >> >
> >> > EndpointDSL
> >> > camel-endpointsdsl does not support OSGI. However, there is an
> >> alternative
> >> > to this, although I don't really like concatenating configuration
> >> > parameters in a string.
> >> >
> >> > It's extremely frustrating right now having to figure all of this out
> >> > yourself. I just hope that one of you can explain to me that CDI still
> >> > works with Camel and Karaf.
> >> >
> >> > WIth kind regards
> >> > Bert.
> >> >
> >> > Am So., 4. Sept. 2022 um 15:42 Uhr schrieb Bert Speckels <
> >> > bert.speck...@gmail.com>:
> >> >
> >> > > Hello there
> >> > >
> >> > > I'm a bit desperate at the moment: We're switching our Camel routes
> >> (in a
> >> > > monolith, Camel 3.14.2) to OSGI bundles (Apache Karaf and upgrade to
> >> > Camel
> >> > > 3.18.1). Unfortunately I have some difficulties with this.
> >> > >
> >> > > For one thing, I'm missing a few Camel features: Unfortunately,
> >> > > "camel-endpointsdsl" doesn't exist as an OSGI feature/bundle, right?
> >> > > Neither 3.14.2 nmor 3.18.1 has OSGI support for that.
> >> > >
> >> > > Also missing in Camel 3.18.1 is the OSGI support of MongoDB, which
> >> still
> >> > > exists in 3.14.
> >> > >
> >> > > Also using CDI is quite confusing for me. Aries, Blueprint, Pax CDI,
> >> > > Camel-CDI... so many combinations... @Service, @OsgiServiceProvider,
> >> > > @Inject, @Reference... so many annotations, some of which are
> >> apparently
> >> > > deprecated. Currently we are using weld in our monolith:
> >> weld-se-shaded,
> >> > > deltaspike-cdictrl-weld with Camel-CDI.
> >> > >
> >> > > Overall, many (all?) tutorials and examples seem to be very
> outdated:
> >> I
> >> > > rarely find examples from 2020 or later. Apparently, even after
> 2020,
> >> so
> >> > > much has changed at Camel. Maybe you can point me to one or the
> other
> >> > > problem where I can get current information: OSGI-Mongo-Support,
> CDI,
> >> > > camel-endopointsdsl...
> >> > >
> >> > > With kind regards
> >> > > Bert Speckels
> >> > >
> >> >
> >> > *As a recipient of an email from Talend, your contact personal data
> will
> >> > be on our systems. Please see our privacy notice.
> >> > <https://www.talend.com/privacy/>*
> >> >
> >> >
> >> >
> >>
> >
>

Reply via email to