"But I didn't imagine that taking out of the shelves ActiveMQ, Karaf and
Camel versions could be so difficult"

Yes, I know that's why I created Assimbly (assimbly.org) which runs the
latest Camel, ActiveMQ together (from Spring Boot and hopefully Karaf 5 as
well). I am not that far though as Camel, ActiveMQ and ServiceMix are very
extensive to support :)

Regards,

Raymond



On Mon, Aug 22, 2022 at 12:58 PM Ephemeris Lappis <
ephemeris.lap...@gmail.com> wrote:

> Hello.
>
> As you remind us, the end of ServiceMix leads us to find alternative
> solutions. In our context, our more than 100 projects are running today on
> an old redHat Fuse 6.3, and we consider migrating them to a simpler
> solution. Initially, ServiceMix should have been a solution. Now our
> perspective relies on :
> - a separate Active MQ "classic" cluster that is also used out of Camel
> contexts by applications running in another part of our k8s cluster...
> - "raw" Karaf servers with a very basic initial configuration : the
> ActiveMQ client bundles and their dependencies, and the connection factory
> to connect to our MQ cluster
> - repackaging our Fabric8 projects as Karaf features (this should limit
> impacts on our Ansible pipelines that manages provisioning using Jolokia
> API)
>
> But I didn't imagine that taking out of the shelves ActiveMQ, Karaf and
> Camel versions could be so difficult :
> - ActiveMQ 5.16.5 and Karaf 4.4.1 seem to lead to issues between them
> because of some Spring level differences
> - I switched to ActiveMQ 5.17.1 (that also requires an upgrade of our java
> version since 1.8 is not supported anymore)
> - Now the integration with Karaf seems to be better, I can create
> connection factories and test them, but the old Camel component
> "camel-activemq" that was provided by it is not there.
> - So I tried the camel-jms component, but this component seems to be unable
> to take into account the JMS connection factory that has been created.
> - After setting an explicit reference on the connection factory in the
> blueprints, I think that the ActiveMQ bundle of version 2.17.1 manages a
> private package "javax.jms" that hides the publicly exported one...
>
> So... too many issues for something that appeared to be a very simple
> integration work...
>
> Still going ahead :) !
>
> Thanks for your help.
>
> Regards.
>
>
>
> Le lun. 22 août 2022 à 12:00, ski n <raymondmees...@gmail.com> a écrit :
>
> > Hi,
> >
> > I think this is because of the history of Camel and ActiveMQ. Originally
> > Camel was aligned with Apache ServiceMix (https://servicemix.apache.org/
> )
> >
> > ServiceMix contained:
> >
> > - Runtime: Apache Karaf
> > - Several integration tools/frameworks:
> >
> >    - Camel
> >    - ActiveMQ (Classic)
> >    - CXF (Webservices)
> >
> > From the end of Camel 2.x and also Camel 3.x, Camel is not aligned with
> > Apache ServiceMix anymore (ServiceMix is not maintained anymore and
> > probably will become a dormant Apache project in the future).
> >
> > It's since that time that Camel became neutral towards both the runtime
> > used and the broker used.
> >
> > That means you can use as runtime still Karaf, but also Wildfly, Spring
> > Boot, Camel-Main etc.
> >
> > For broker you can use any JMS Broker (like Apache ActiveMQ Classic,
> Apache
> > ActiveMQ Artemis, IBMMQ, SonicMQ, RocketMQ etc) or non-JMS Brokers like
> > RabbitMQ or Apache Kafka. Camel does not favor one or another.
> >
> > In general JMS Brokers are mostly tight to the implementation (like IBMMQ
> > and the version of that Implementation). That means you always need the
> > specific connection factory (which are in the client jars provided by the
> > broker vendor). This is not extremely convenient as you already
> mentioned,
> > but this has always been the case for JMS brokers. As Camel became
> > technology neutral is just follows that convention. In case you like some
> > examples of creating a connection factory for several different brokers:
> >
> >
> >
> https://github.com/assimbly/runtime/blob/master/integration/src/main/java/org/assimbly/integration/service/Connection.java
> >
> > That said I hope that "connections" will become a construct just like
> > components, datasets, beans, languages etc, so that users can attach
> ready
> > made connections to their components. That could be connection to
> brokers,
> > database etc (everything that needs client jar files).
> >
> > As alternative you can also use Apache QPID as a client (
> > https://qpid.apache.org/). QPid has their own broker, but also an
> > universal
> > client that can connect through various brokers using either JMS or even
> > better AMQP (as this is a vendor neutral protocol instead of Java library
> > like JMS. Though note that theory of AMQP can be a little more difficult
> in
> > practice).
> >
> > I hope this give you some background on the reasons behind the changes in
> > the past.
> >
> > Kind regards,
> >
> > Raymond
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > On Mon, Aug 22, 2022 at 9:08 AM Ephemeris Lappis <
> > ephemeris.lap...@gmail.com>
> > wrote:
> >
> > > Hello.
> > >
> > > Sorry for the question about "camel-activeemq" (double e) <>
> > > "camel-activemq". I thought you were talking about another distinct
> Camel
> > > component... camel-activemq is in fact the component i'd like to use...
> > >
> > > I don't understand why using ActiveMQ 2.16.5 and a connection factory
> > that
> > > I create the same way, the camel-activemq is able to detect the unique
> > > instance of the service with no need to add a reference in all our 100+
> > > projects, but the camel-jms do not.
> > >
> > > Why the camel-activemq that is clearly documented as the preferred one
> to
> > > connect to ActiveMQ is not provided now in 2.17.1...
> > >
> > > Thanks again.
> > >
> > > Regards.
> > >
> > >
> > > Le lun. 22 août 2022 à 07:01, Jean-Baptiste Onofré <j...@nanthrax.net> a
> > > écrit :
> > >
> > > > Hi,
> > > >
> > > > here's the documentation about camel-activemq:
> > > > https://camel.apache.org/components/3.18.x/activemq-component.html
> > > >
> > > > About the ConnectionFactory, you have to define it as reference in
> > > > your route. You can find an example here:
> > > >
> > > >
> > > >
> > >
> >
> https://github.com/jbonofre/camel-amq-redelivery/blob/master/src/main/resources/OSGI-INF/blueprint/route.xml
> > > >
> > > >
> > >
> >
> https://github.com/jbonofre/camel-amq-redelivery/blob/master/src/main/resources/OSGI-INF/blueprint/connectionfactory.xml
> > > >
> > > > Regards
> > > > JB
> > > >
> > > > On Sun, Aug 21, 2022 at 10:22 AM Ephemeris Lappis
> > > > <ephemeris.lap...@gmail.com> wrote:
> > > > >
> > > > > Hello.
> > > > >
> > > > > I've never seen any documentation about "camel-activeemq" : what's
> > the
> > > > > feature that provides it ?
> > > > >
> > > > > As I've said before, I've been trying to use camel-jms but
> > surprisingly
> > > > > my unique connection factory is not detected, and the component
> asks
> > > for
> > > > > an explicit declaration. I thought that one unique connection
> factory
> > > > > should be taken into account... I've created a unique connection
> > > factory
> > > > > using "jms:create" connecting to an external ActiveMQ, and I've
> > checked
> > > > > that the service is present declaring the right interface. Is
> there a
> > > > > special way of declaring or naming the connexion factory to make it
> > > > > available for routes with camel-jms endpoints ?
> > > > >
> > > > > Thanks a lot for your help.
> > > > >
> > > > > Regards.
> > > > >
> > > > > Ephemeris Lappis
> > > > >
> > > > > Le 21/08/2022 à 08:12, Jean-Baptiste Onofré a écrit :
> > > > > > That's correct: activemq-camel has been removed.
> > > > > >
> > > > > > You can now use camel-jms (recommended) or camel-activeemq.
> > > > > >
> > > > > > You can wrap your own component if needed, but I would rather
> > update
> > > > > > to camel-jms (not so hard to do).
> > > > > >
> > > > > > Regards
> > > > > > JB
> > > > > >
> > > > > > On Fri, Aug 19, 2022 at 12:33 PM Ephemeris Lappis
> > > > > > <ephemeris.lap...@gmail.com> wrote:
> > > > > >> Hello.
> > > > > >>
> > > > > >> I've been working before on ActiveMQ 5.16.5, but as this version
> > > > leads to
> > > > > >> too many problems on Karaf 4.4.1 (spring compatibility among
> other
> > > > issues),
> > > > > >> I've decided to switch to ActiveMQ 5.17.1.
> > > > > >>
> > > > > >> Before, I think the component camel-activemq was provided by the
> > > > feature
> > > > > >> activemq-camel, but with 5.17.1 it doesn't appear anymore in
> this
> > > > feature,
> > > > > >> if I'm not wrong...
> > > > > >>
> > > > > >> I've also tried as you suggested to use the jms component in my
> > > > routes, but
> > > > > >> the connection factory I've created to connect to my ActiveMQ
> > server
> > > > is not
> > > > > >> taken into account by the component that requires an explicit
> > > > connection
> > > > > >> factory... Changing all our about 100 camel projects to change
> > from
> > > > > >> activemq to jms and declare a connection factory reference seems
> > to
> > > > be a
> > > > > >> very bad choice for us...
> > > > > >>
> > > > > >> So, from both sides I've issues.
> > > > > >>
> > > > > >> Any idea to get out of this sad situation 😥 ?
> > > > > >>
> > > > > >> Thanks a lot !
> > > > > >>
> > > > > >> Regards.
> > > > > >>
> > > > > >> PS: Perhaps the documentation on the component should say that
> > it's
> > > > > >> available "Since Camel 1.0" but also only with restriction
> after a
> > > > given
> > > > > >> version...
> > > > > >>
> > > > > >>
> > > > > >> Le ven. 19 août 2022 à 11:51, Claus Ibsen <
> claus.ib...@gmail.com>
> > a
> > > > écrit :
> > > > > >>
> > > > > >>> camel-activemq is not out of the box in Apache Camel in Camel
> v2.
> > > > > >>> It comes from Apache ActiveMQ 5.x instead.
> > > > > >>>
> > > > > >>> However starting from ActiveMQ 5.17 then they dropped their
> > > > camel-activemq
> > > > > >>> JAR and its no longer available.
> > > > > >>> Instead use the generic camel-jms instead. Or go back to
> ActiveMQ
> > > > 5.16.x
> > > > > >>>
> > > > > >>> In the Camel website make sure to browse the components list
> for
> > > the
> > > > Camel
> > > > > >>> version you use. The list is different per version.
> > > > > >>>
> > > > > >>>
> > > > > >>> On Fri, Aug 19, 2022 at 11:35 AM Ephemeris Lappis <
> > > > > >>> ephemeris.lap...@gmail.com> wrote:
> > > > > >>>
> > > > > >>>> Hello.
> > > > > >>>>
> > > > > >>>> I've already asked the question, but probably not clearly...
> > > > > >>>>
> > > > > >>>> I don't understand why I can't resolve the dependency for :
> > > > > >>>> org.apache.camel:camel-activemq:jar:2.25.4
> > > > > >>>>
> > > > > >>>> I used this component for a long time on old servicemix
> > > > environments,
> > > > > >>>> and I'm trying to port my projects to Karaf using Camel 2.25.4
> > > (and
> > > > > >>>> ActiveMQ 5.17.1).
> > > > > >>>>
> > > > > >>>> The component is still documented on the Camel components
> list,
> > > but
> > > > I
> > > > > >>>> can't find it.
> > > > > >>>>
> > > > > >>>> Any help ?
> > > > > >>>>
> > > > > >>>> Thanks in advance.
> > > > > >>>>
> > > > > >>>> Regards.
> > > > > >>>>
> > > > > >>>
> > > > > >>> --
> > > > > >>> Claus Ibsen
> > > > > >>> -----------------
> > > > > >>> http://davsclaus.com @davsclaus
> > > > > >>> Camel in Action 2: https://www.manning.com/ibsen2
> > > > > >>>
> > > > >
> > > > > --
> > > > > Cet e-mail a été vérifié par le logiciel antivirus d'Avast.
> > > > > www.avast.com
> > > >
> > >
> >
>

Reply via email to