Closed
Description
Download camel-elasticsearch-rest-kafka-connector from https://repo1.maven.org/maven2/org/apache/camel/kafkaconnector/camel-elasticsearch-rest-kafka-connector/0.2.0/camel-elasticsearch-rest-kafka-connector-0.2.0-package.zip
The log4j2 dependencies are missing and they cause NoClassDefFoundError when the connector is used.
To reproduce it with Strimzi follow these steps:
- Start Kafka broker cluster
- Start KafkaConnectS2I cluster
- Prepare the connector plugin and start a new KafkaConnectS2I build:
mkdir connectors
curl https://repo1.maven.org/maven2/org/apache/camel/kafkaconnector/camel-elasticsearch-rest-kafka-connector/0.2.0/camel-elasticsearch-rest-kafka-connector-0.2.0-package.zip > connectors/file.zip
unzip -d connectors file.zip
rm connectors/file.zip
oc start-build my-connect-cluster-connect --from-dir=./connectors --follow
Similar things can be done on local installation.
When the connector is firstly invoked, the following error occurs:
Caused by: java.lang.NoClassDefFoundError: org/apache/logging/log4j/LogManager
at org.elasticsearch.rest.BytesRestResponse.<clinit>(BytesRestResponse.java:120)
at org.elasticsearch.client.RestHighLevelClient.parseEntity(RestHighLevelClient.java:1727)
at org.elasticsearch.client.RestHighLevelClient.parseResponseException(RestHighLevelClient.java:1704)
at org.elasticsearch.client.RestHighLevelClient.internalPerformRequest(RestHighLevelClient.java:1467)
at org.elasticsearch.client.RestHighLevelClient.performRequest(RestHighLevelClient.java:1424)
at org.elasticsearch.client.RestHighLevelClient.performRequestAndParseEntity(RestHighLevelClient.java:1394)
at org.elasticsearch.client.RestHighLevelClient.index(RestHighLevelClient.java:836)
at org.apache.camel.component.elasticsearch.ElasticsearchProducer.process(ElasticsearchProducer.java:169)
at org.apache.camel.support.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:67)
... 28 more
Caused by: java.lang.ClassNotFoundException: org.apache.logging.log4j.LogManager
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at org.apache.kafka.connect.runtime.isolation.PluginClassLoader.loadClass(PluginClassLoader.java:104)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
... 37 more
In attach the full log file:
my-connect-cluster-connect-2-cc4nf-my-connect-cluster-connect.log