micronaut-projects / micronaut-kafka

Integration between Micronaut and Apache Kafka
Apache License 2.0
83 stars 104 forks source link

NoSuchMethodException: org.apache.kafka.clients.consumer.RangeAssignor.<init>() #873

Open ivangfr opened 1 year ago

ivangfr commented 1 year ago

Expected Behavior

The Docker native image should work was in version 3.

Actual Behaviour

Hi, I've upgraded recently my Micronaut apps from 3.9.4 to 4.1.1. For the app called micronaut-kafka-consumer, I am getting the following exception when trying to run the Docker native image.

ERROR io.micronaut.runtime.Micronaut - Error starting Micronaut server: Error instantiating bean of type [org.apache.kafka.clients.consumer.Consumer]: Failed to construct kafka consumer
io.micronaut.context.exceptions.BeanInstantiationException: Error instantiating bean of type [org.apache.kafka.clients.consumer.Consumer]: Failed to construct kafka consumer
    at io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2324)
    at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2277)
    at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:1074)
    at io.micronaut.context.DefaultBeanContext.createBean(DefaultBeanContext.java:1054)
    at io.micronaut.context.BeanContext.createBean(BeanContext.java:157)
    at io.micronaut.configuration.kafka.processor.KafkaConsumerProcessor.submitConsumerThread(KafkaConsumerProcessor.java:446)
    at io.micronaut.configuration.kafka.processor.KafkaConsumerProcessor.submitConsumerThreads(KafkaConsumerProcessor.java:434)
    at io.micronaut.configuration.kafka.processor.KafkaConsumerProcessor.process(KafkaConsumerProcessor.java:325)
    at io.micronaut.context.DefaultBeanContext.lambda$initializeContext$32(DefaultBeanContext.java:2044)
    at java.base@17.0.8/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
    at java.base@17.0.8/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
    at java.base@17.0.8/java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1707)
    at java.base@17.0.8/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
    at java.base@17.0.8/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
    at java.base@17.0.8/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
    at java.base@17.0.8/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
    at java.base@17.0.8/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.base@17.0.8/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
    at io.micronaut.context.DefaultBeanContext.initializeContext(DefaultBeanContext.java:2018)
    at io.micronaut.context.DefaultApplicationContext.initializeContext(DefaultApplicationContext.java:290)
    at io.micronaut.context.DefaultBeanContext.readAllBeanDefinitionClasses(DefaultBeanContext.java:3340)
    at io.micronaut.context.DefaultBeanContext.finalizeConfiguration(DefaultBeanContext.java:3693)
    at io.micronaut.context.DefaultBeanContext.start(DefaultBeanContext.java:345)
    at io.micronaut.context.DefaultApplicationContext.start(DefaultApplicationContext.java:198)
    at io.micronaut.runtime.Micronaut.start(Micronaut.java:73)
    at io.micronaut.runtime.Micronaut.run(Micronaut.java:322)
    at io.micronaut.runtime.Micronaut.run(Micronaut.java:308)
    at com.ivanfranchin.kafkaconsumer.Application.main(Application.java:8)
Caused by: org.apache.kafka.common.KafkaException: Failed to construct kafka consumer
    at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:837)
    at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:671)
    at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:652)
    at io.micronaut.configuration.kafka.KafkaConsumerFactory.createConsumer(KafkaConsumerFactory.java:59)
    at io.micronaut.configuration.kafka.$KafkaConsumerFactory$CreateConsumer0$Definition.doInstantiate(Unknown Source)
    at io.micronaut.context.AbstractInitializableBeanDefinition.instantiate(AbstractInitializableBeanDefinition.java:774)
    at io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2305)
    ... 27 common frames omitted
Caused by: org.apache.kafka.common.KafkaException: Could not find a public no-argument constructor for org.apache.kafka.clients.consumer.RangeAssignor
    at org.apache.kafka.common.utils.Utils.newInstance(Utils.java:398)
    at org.apache.kafka.clients.consumer.ConsumerPartitionAssignor.getAssignorInstances(ConsumerPartitionAssignor.java:305)
    at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:776)
    ... 33 common frames omitted
Caused by: java.lang.NoSuchMethodException: org.apache.kafka.clients.consumer.RangeAssignor.<init>()
    at java.base@17.0.8/java.lang.Class.checkMethod(DynamicHub.java:1038)
    at java.base@17.0.8/java.lang.Class.getConstructor0(DynamicHub.java:1204)
    at java.base@17.0.8/java.lang.Class.getDeclaredConstructor(DynamicHub.java:2754)
    at org.apache.kafka.common.utils.Utils.newInstance(Utils.java:396)
    ... 35 common frames omitted

Steps To Reproduce

Environment Information

Example Application

https://github.com/ivangfr/graalvm-quarkus-micronaut-springboot

Version

4.1.1