Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JMS AMQP 1.0 Source/Sink Kamelets: Replace QPID client with camel-amqp #1378

Merged
merged 1 commit into from Mar 16, 2023

Conversation

gansheer
Copy link
Contributor

@gansheer gansheer commented Mar 16, 2023

Motivation

The client qpid dependency does not works in native mode (stacktrace log Caused by: java.lang.ClassNotFoundException: org.apache.qpid.jms.JmsConnectionFactory).

Description

The camel-amqp component is designed for the kamelets use case : supporting the AMQP 1.0 protocol through the JMS QPID Client. So replacing the client dependency by the component makes sense.

Note

Will probably need some backports

@gansheer
Copy link
Contributor Author

Additional note : I don't need the camel-jms component since it is a dependency from camel-amqp. When removing it the validate script fails because it is not present anymore in dependencies.
Should I remove it and make the change to adapt the kamelets (I am guessing a change of names and the apache group in metadatas at least) ?

@oscerd
Copy link
Contributor

oscerd commented Mar 16, 2023

I think the validation must be reviewed at all also I do think we don't think the qpid-jms-client in the bom, since it's not managed anymore now.

@gansheer
Copy link
Contributor Author

gansheer commented Mar 16, 2023

I think the validation must be reviewed at all also I do think we don't think the qpid-jms-client in the bom, since it's not managed anymore now.

Ha you are right, I will remove the QPID client everywhere it needs to be.
And probably try my hand at a YAKS test.

@zhfeng
Copy link

zhfeng commented Mar 16, 2023

@gansheer I'm just curious that

The client qpid dependency does not works in native mode

Is it Quarkus native mode? If it is, I think we need to use org.amqphub.quarkus:quarkus-qpid-jms. see https://github.com/amqphub/quarkus-qpid-jms

…qp kamelets

* The client qpid does not works in native mode (stacktrace log `Caused by: java.lang.ClassNotFoundException: org.apache.qpid.jms.JmsConnectionFactory`)
* the camel-amqp component is designed for this case : supporting the AMQP 1.0 protocol through the JMS QPID Client.
@oscerd
Copy link
Contributor

oscerd commented Mar 16, 2023

@gansheer I'm just curious that

The client qpid dependency does not works in native mode

Is it Quarkus native mode? If it is, I think we need to use org.amqphub.quarkus:quarkus-qpid-jms. see https://github.com/amqphub/quarkus-qpid-jms

Kamelets are not designed to work only with quarkus as runtime, it was like that in the beginning, so I don't think it's the case to add a quarkus dependency directly in the yaml.

@gansheer
Copy link
Contributor Author

gansheer commented Mar 16, 2023

@zhfeng I am talking about the library "mvn:org.apache.qpid:qpid-jms-client:1.0.0".
I tested the modified kamelets with camel-k, which means camel-quarkus runtime and dependencies, and it works well. I don't think I can add a quarkus dependency in the Kamelets 🤔 .

@zhfeng
Copy link

zhfeng commented Mar 16, 2023

I get it and thanks for your clarifying.

@oscerd
Copy link
Contributor

oscerd commented Mar 16, 2023

This could be backported to 3.x and also to 3.20.x

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants