apache / camel-kafka-connector

Camel Kafka Connector allows you to use all Camel components as Kafka Connect connectors
https://camel.apache.org
Apache License 2.0
147 stars 99 forks source link

There is a missing jar for the jms-apache-activemq connectors #1370

Open klerk opened 2 years ago

klerk commented 2 years ago

I generate the camel-jms-apache-activemq-sink-kafka-connector-1.1.0-SNAPSHOT-package.tar.gz and camel-jms-apache-activemq-source-kafka-connector-1.1.0-SNAPSHOT-package.tar.gz from the main branch.

When I try to start the sink or source connector from this packages, I have this error :

[2022-05-12 09:49:26,323] ERROR WorkerSinkTask{id=CamelJms-apache-activemq-sinkSinkConnector-0} Task threw an uncaught and unrecoverable exception (org.apache.kafka.connect.runtime.WorkerTask:177)
java.lang.NoClassDefFoundError: org/apache/activemq/command/ActiveMQDestination
    at org.apache.camel.component.activemq.converter.ActiveMQConverterLoader.registerConverters(ActiveMQConverterLoader.java:44)
    at org.apache.camel.component.activemq.converter.ActiveMQConverterLoader.load(ActiveMQConverterLoader.java:40)
    at org.apache.camel.impl.converter.BaseTypeConverterRegistry.loadCoreAndFastTypeConverters(BaseTypeConverterRegistry.java:166)
    at org.apache.camel.impl.converter.DefaultTypeConverter.doInit(DefaultTypeConverter.java:67)
    at org.apache.camel.support.service.BaseService.init(BaseService.java:83)
    at org.apache.camel.support.service.ServiceHelper.initService(ServiceHelper.java:84)
    at org.apache.camel.impl.engine.AbstractCamelContext.internalAddService(AbstractCamelContext.java:1570)
    at org.apache.camel.impl.engine.AbstractCamelContext.doAddService(AbstractCamelContext.java:1507)
    at org.apache.camel.impl.engine.AbstractCamelContext.doAddService(AbstractCamelContext.java:1502)
    at org.apache.camel.impl.engine.AbstractCamelContext.doAddService(AbstractCamelContext.java:1498)
    at org.apache.camel.impl.engine.AbstractCamelContext.setTypeConverter(AbstractCamelContext.java:1899)
    at org.apache.camel.impl.engine.AbstractCamelContext.getOrCreateTypeConverter(AbstractCamelContext.java:1906)
    at org.apache.camel.impl.engine.AbstractCamelContext.doBuild(AbstractCamelContext.java:2760)
    at org.apache.camel.support.service.BaseService.build(BaseService.java:63)
    at org.apache.camel.impl.engine.AbstractCamelContext.<init>(AbstractCamelContext.java:411)
    at org.apache.camel.impl.engine.SimpleCamelContext.<init>(SimpleCamelContext.java:120)
    at org.apache.camel.impl.DefaultCamelContext.<init>(DefaultCamelContext.java:137)
    at org.apache.camel.impl.DefaultCamelContext.<init>(DefaultCamelContext.java:113)
    at org.apache.camel.kafkaconnector.CamelSinkTask.start(CamelSinkTask.java:118)
    at org.apache.kafka.connect.runtime.WorkerSinkTask.initializeAndStart(WorkerSinkTask.java:300)
    at org.apache.kafka.connect.runtime.WorkerSinkTask.execute(WorkerSinkTask.java:189)
    at org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:175)
    at org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:219)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.ClassNotFoundException: org.apache.activemq.command.ActiveMQDestination
    at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:471)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:588)
    at org.apache.kafka.connect.runtime.isolation.PluginClassLoader.loadClass(PluginClassLoader.java:104)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    ... 28 more
[2022-05-12 09:49:26,324] ERROR WorkerSinkTask{id=CamelJms-apache-activemq-sinkSinkConnector-0} Task is being killed and will not recover until manually restarted (org.apache.kafka.connect.runtime.WorkerTask:178)

I search which package provide the org.apache.activemq.command.ActiveMQDestination class and I found https://repo1.maven.org/maven2/org/apache/activemq/activemq-client/5.16.2/activemq-client-5.16.2.jar

I add this jar in the directory with the others and it's work, I can start the connectors (sink and source).

I have another problem but I don't know if this is the right place to mention it: When I try to download the pre-build jms-apache-activemq packages from this page : https://camel.apache.org/camel-kafka-connector/next/reference/index.html I got a 404 not found error.

klerk commented 1 year ago

I still have this issue with the version 3.18.2 of the camel-jms-apache-activemq-source-kafka-connector, same for the sink. I had to dl this extra jar : https://repo1.maven.org/maven2/org/apache/activemq/activemq-client/5.17.1/activemq-client-5.17.1.jar to make the connectors work.