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