GoogleCloudPlatform / spring-cloud-gcp

New home for Spring Cloud GCP development starting with version 2.0.
Apache License 2.0
415 stars 307 forks source link

Issue with the kafka and GCP pubsub in spring boot #2245

Closed shankar-modi closed 11 months ago

shankar-modi commented 11 months ago
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'kafkaTemplate' defined in class path resource [org/springframework/boot/autoconfigure/kafka/KafkaAutoConfiguration.class]: Signature Parse error: expected a class type
    Remaining input: java/util/concurrent/CompletableFuture
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:605) ~[spring-beans-6.0.8.jar!/:6.0.8]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520) ~[spring-beans-6.0.8.jar!/:6.0.8]
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) ~[spring-beans-6.0.8.jar!/:6.0.8]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.0.8.jar!/:6.0.8]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) ~[spring-beans-6.0.8.jar!/:6.0.8]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:225) ~[spring-beans-6.0.8.jar!/:6.0.8]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveNamedBean(DefaultListableBeanFactory.java:1310) ~[spring-beans-6.0.8.jar!/:6.0.8]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveNamedBean(DefaultListableBeanFactory.java:1271) ~[spring-beans-6.0.8.jar!/:6.0.8]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveBean(DefaultListableBeanFactory.java:484) ~[spring-beans-6.0.8.jar!/:6.0.8]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory$1.getIfUnique(DefaultListableBeanFactory.java:436) ~[spring-beans-6.0.8.jar!/:6.0.8]
    at org.springframework.kafka.annotation.RetryableTopicAnnotationProcessor.getKafkaTemplate(RetryableTopicAnnotationProcessor.java:222) ~[spring-kafka-3.0.6.jar!/:3.0.6]
    at org.springframework.kafka.annotation.RetryableTopicAnnotationProcessor.processAnnotation(RetryableTopicAnnotationProcessor.java:152) ~[spring-kafka-3.0.6.jar!/:3.0.6]
    at org.springframework.kafka.annotation.RetryTopicConfigurationProvider.findRetryConfigurationFor(RetryTopicConfigurationProvider.java:101) ~[spring-kafka-3.0.6.jar!/:3.0.6]
    at org.springframework.kafka.annotation.KafkaListenerAnnotationBeanPostProcessor.processMainAndRetryListeners(KafkaListenerAnnotationBeanPostProcessor.java:513) ~[spring-kafka-3.0.6.jar!/:3.0.6]
    at org.springframework.kafka.annotation.KafkaListenerAnnotationBeanPostProcessor.processKafkaListener(KafkaListenerAnnotationBeanPostProcessor.java:492) ~[spring-kafka-3.0.6.jar!/:3.0.6]
    at org.springframework.kafka.annotation.KafkaListenerAnnotationBeanPostProcessor.postProcessAfterInitialization(KafkaListenerAnnotationBeanPostProcessor.java:391) ~[spring-kafka-3.0.6.jar!/:3.0.6]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:434) ~[spring-beans-6.0.8.jar!/:6.0.8]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1773) ~[spring-beans-6.0.8.jar!/:6.0.8]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:598) ~[spring-beans-6.0.8.jar!/:6.0.8]
    ... 21 common frames omitted
Caused by: java.lang.reflect.GenericSignatureFormatError: Signature Parse error: expected a class type
    Remaining input: java/util/concurrent/CompletableFuture
    at java.base/sun.reflect.generics.parser.SignatureParser.error(SignatureParser.java:124) ~[na:na]
    at java.base/sun.reflect.generics.parser.SignatureParser.parseClassTypeSignature(SignatureParser.java:301) ~[na:na]
    at java.base/sun.reflect.generics.parser.SignatureParser.parseClassSignature(SignatureParser.java:213) ~[na:na]
    at java.base/sun.reflect.generics.parser.SignatureParser.parseClassSig(SignatureParser.java:156) ~[na:na]
    at java.base/sun.reflect.generics.repository.ClassRepository.parse(ClassRepository.java:57) ~[na:na]
    at java.base/sun.reflect.generics.repository.ClassRepository.parse(ClassRepository.java:41) ~[na:na]
    at java.base/sun.reflect.generics.repository.AbstractRepository.<init>(AbstractRepository.java:74) ~[na:na]
    at java.base/sun.reflect.generics.repository.GenericDeclRepository.<init>(GenericDeclRepository.java:49) ~[na:na]
    at java.base/sun.reflect.generics.repository.ClassRepository.<init>(ClassRepository.java:53) ~[na:na]
    at java.base/sun.reflect.generics.repository.ClassRepository.make(ClassRepository.java:70) ~[na:na]
    at java.base/java.lang.Class.getGenericInfo(Class.java:3302) ~[na:na]
    at java.base/java.lang.Class.getTypeParameters(Class.java:994) ~[na:na]
    at java.base/sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.validateConstructorArguments(ParameterizedTypeImpl.java:56) ~[na:na]
    at java.base/sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.<init>(ParameterizedTypeImpl.java:52) ~[na:na]
    at java.base/sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.make(ParameterizedTypeImpl.java:100) ~[na:na]
    at java.base/sun.reflect.generics.factory.CoreReflectionFactory.makeParameterizedType(CoreReflectionFactory.java:105) ~[na:na]
    at java.base/sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:140) ~[na:na]
    at java.base/sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) ~[na:na]
    at java.base/sun.reflect.generics.repository.MethodRepository.computeReturnType(MethodRepository.java:75) ~[na:na]
    at java.base/sun.reflect.generics.repository.MethodRepository.getReturnType(MethodRepository.java:66) ~[na:na]
    at java.base/java.lang.reflect.Method.getGenericReturnType(Method.java:296) ~[na:na]
    at java.base/java.lang.reflect.Method.specificToGenericStringHeader(Method.java:489) ~[na:na]
    at java.base/java.lang.reflect.Executable.sharedToGenericString(Executable.java:161) ~[na:na]
    at java.base/java.lang.reflect.Method.toGenericString(Method.java:484) ~[na:na]
    at org.springframework.integration.config.MessagingAnnotationPostProcessor.doWithMethod(MessagingAnnotationPostProcessor.java:260) ~[spring-integration-core-6.0.5.jar!/:6.0.5]
    at org.springframework.integration.config.MessagingAnnotationPostProcessor.lambda$postProcessAfterInitialization$4(MessagingAnnotationPostProcessor.java:247) ~[spring-integration-core-6.0.5.jar!/:6.0.5]
    at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:366) ~[spring-core-6.0.8.jar!/:6.0.8]
    at org.springframework.integration.config.MessagingAnnotationPostProcessor.postProcessAfterInitialization(MessagingAnnotationPostProcessor.java:246) ~[spring-integration-core-6.0.5.jar!/:6.0.5]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:434) ~[spring-beans-6.0.8.jar!/:6.0.8]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1773) ~[spring-beans-6.0.8.jar!/:6.0.8]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:598) ~[spring-beans-6.0.8.jar!/:6.0.8]
    ... 39 common frames omitted
burkedavison commented 11 months ago

Hello @shankar-modi - thank you for submitting this issue.

Do you have any further information you can provide on how to replicate the issue?

shankar-modi commented 11 months ago

@burkedavison Please find attached pom.xml and Docker file. used pom.xml , and created a Kafka producer.

Created Image with attached docker file, and when i ran the image getting above error and server not staring.

files.zip

burkedavison commented 11 months ago

It looks like the part of the exception that has the most relevance is:

java.lang.reflect.GenericSignatureFormatError: Signature Parse error: expected a class type
    Remaining input: java/util/concurrent/CompletableFuture

Please take a look at this stack overflow answer is based on the same error + affects JDK19 and New Relic which are used in your attached dockerfile.

Since this exception stack trace doesn't call out any Spring Cloud GCP packages, I don't think we can assist further with this issue. If you are able to create a minimal reproducer showing an issue with Spring Cloud GCP here, please reopen this issue with your findings and a link to your reproducer.