Saurav Das
Saurav Das

Reputation: 65

java.lang.LinkageError: ClassCastException attempting to castjar

I am trying to build a kafka consumer app with Spring Boot v3.1.5 and Java 17. It attempts to read from a kafka topic via a schema registry. The exception is thrown when an avro is attempted to be read.

The issue seems to be around Jakarta classes and their version compatibility. Need help to successfully read topic messages.

My pom.xml is:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.1.5</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example.kafkaconsumerdemo</groupId>
    <artifactId>avro-processor</artifactId>
    <version>1.0.0</version>
    <name>kafka-consumer-demo</name>
    <description>Kafka consumer demo</description>
    <properties>
        <java.version>17</java.version>
        <maven.compiler.release>17</maven.compiler.release>
        <spring-cloud.version>2022.0.4</spring-cloud.version>
<!--        <avro.version>1.11.3</avro.version>-->
        <avro.version>1.11.2</avro.version>
        <kafka-avro-serializer.version>6.2.0</kafka-avro-serializer.version>
    </properties>
    <repositories>
        <repository>
            <id>confluent</id>
            <name>Confluent</name>
            <url>https://packages.confluent.io/maven/</url>
        </repository>
    </repositories>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>     
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-stream</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-stream-binder-kafka</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-stream-binder-kafka-streams</artifactId>
        </dependency>    
        <dependency>
            <groupId>org.springframework.kafka</groupId>
            <artifactId>spring-kafka</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.apache.avro</groupId>
            <artifactId>avro</artifactId>
            <version>${avro.version}</version>
        </dependency>
        <dependency>
            <groupId>io.confluent</groupId>
            <artifactId>kafka-avro-serializer</artifactId>
            <version>${kafka-avro-serializer.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.avro</groupId>
            <artifactId>avro-maven-plugin</artifactId>
            <version>${avro.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.avro</groupId>
            <artifactId>avro-compiler</artifactId>
            <version>${avro.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.avro</groupId>
            <artifactId>avro-ipc</artifactId>
            <version>${avro.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-testcontainers</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.kafka</groupId>
            <artifactId>spring-kafka-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.testcontainers</groupId>
            <artifactId>junit-jupiter</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.testcontainers</groupId>
            <artifactId>kafka</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>jakarta.platform</groupId>
            <artifactId>jakarta.jakartaee-api</artifactId>
            <version>9.1.0</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>jakarta.ws.rs</groupId>
            <artifactId>jakarta.ws.rs-api</artifactId>
            <version>2.1.6</version>
<!--            <version>3.1.0</version>-->
        </dependency>

        <!--        <dependency>-->
<!--            <groupId>javax.xml.bind</groupId>-->
<!--            <artifactId>jaxb-api</artifactId>-->
<!--            <version>2.2.12</version>-->
<!--        </dependency>-->

<!--        &lt;!&ndash; https://mvnrepository.com/artifact/javax/javaee-web-api &ndash;&gt;-->
<!--        <dependency>-->
<!--            <groupId>javax</groupId>-->
<!--            <artifactId>javaee-web-api</artifactId>-->
<!--            <version>8.0.1</version>-->
<!--            <scope>provided</scope>-->
<!--        </dependency>-->

<!--        <dependency>-->
<!--            <groupId>org.glassfish.jersey.core</groupId>-->
<!--            <artifactId>jersey-client</artifactId>-->
<!--            <version>2.24</version>-->
<!--        </dependency>-->


    </dependencies>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.avro</groupId>
                <artifactId>avro-maven-plugin</artifactId>
                <version>${avro.version}</version>
                <executions>
                    <execution>
                        <id>schemas</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>schema</goal>
                            <goal>protocol</goal>
                            <goal>idl-protocol</goal>
                        </goals>
                        <configuration>
                            <sourceDirectory>${project.basedir}/src/main/resources/avro/</sourceDirectory>
                            <outputDirectory>${project.build.directory}/generated-sources</outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

        </plugins>
    </build>

</project>

Currently, seeing the below exception stack trace:

2023-11-20T14:54:27.919Z INFO 674 --- [pool-2-thread-1] o.a.kafka.common.utils.AppInfoParser : Kafka version: 3.4.1 2023-11-20T14:54:27.919Z INFO 674 --- [pool-2-thread-1] o.a.kafka.common.utils.AppInfoParser : Kafka commitId: 8a516edc2755df89 2023-11-20T14:54:27.919Z INFO 674 --- [pool-2-thread-1] o.a.kafka.common.utils.AppInfoParser : Kafka startTimeMs: 1700492067919 2023-11-20T14:54:27.925Z INFO 674 --- [pool-2-thread-1] org.apache.kafka.clients.Metadata : [Consumer clientId=consumer-anonymous.0fa8a41c-49f8-4cdb-bb46-b87da258dee6-4, groupId=anonymous.0fa8a41c-49f8-4cdb-bb46-b87da258dee6] Cluster ID: ivKDU44TT6ae4LI9HsI_8g 2023-11-20T14:54:27.929Z INFO 674 --- [container-0-C-1] o.a.k.c.c.internals.ConsumerCoordinator : [Consumer clientId=consumer-anonymous.0fa8a41c-49f8-4cdb-bb46-b87da258dee6-2, groupId=anonymous.0fa8a41c-49f8-4cdb-bb46-b87da258dee6] Successfully joined group with generation Generation{generationId=1, memberId='consumer-anonymous.0fa8a41c-49f8-4cdb-bb46-b87da258dee6-2-543b2ae3-aaea-4006-bbe1-608455db755e', protocol='range'} 2023-11-20T14:54:27.931Z INFO 674 --- [container-0-C-1] o.a.k.c.c.internals.ConsumerCoordinator : [Consumer clientId=consumer-anonymous.0fa8a41c-49f8-4cdb-bb46-b87da258dee6-2, groupId=anonymous.0fa8a41c-49f8-4cdb-bb46-b87da258dee6] Finished assignment for group at generation 1: {consumer-anonymous.0fa8a41c-49f8-4cdb-bb46-b87da258dee6-2-543b2ae3-aaea-4006-bbe1-608455db755e=Assignment(partitions=[employees-topic-0])} 2023-11-20T14:54:27.936Z INFO 674 --- [container-0-C-1] o.a.k.c.c.internals.ConsumerCoordinator : [Consumer clientId=consumer-anonymous.0fa8a41c-49f8-4cdb-bb46-b87da258dee6-2, groupId=anonymous.0fa8a41c-49f8-4cdb-bb46-b87da258dee6] Successfully synced group in generation Generation{generationId=1, memberId='consumer-anonymous.0fa8a41c-49f8-4cdb-bb46-b87da258dee6-2-543b2ae3-aaea-4006-bbe1-608455db755e', protocol='range'} 2023-11-20T14:54:27.936Z INFO 674 --- [container-0-C-1] o.a.k.c.c.internals.ConsumerCoordinator : [Consumer clientId=consumer-anonymous.0fa8a41c-49f8-4cdb-bb46-b87da258dee6-2, groupId=anonymous.0fa8a41c-49f8-4cdb-bb46-b87da258dee6] Notifying assignor about the new Assignment(partitions=[employees-topic-0]) 2023-11-20T14:54:27.937Z INFO 674 --- [pool-2-thread-1] o.a.k.c.c.internals.ConsumerCoordinator : [Consumer clientId=consumer-anonymous.0fa8a41c-49f8-4cdb-bb46-b87da258dee6-4, groupId=anonymous.0fa8a41c-49f8-4cdb-bb46-b87da258dee6] Discovered group coordinator 127.0.0.1:9092 (id: 2147483647 rack: null) 2023-11-20T14:54:27.938Z INFO 674 --- [container-0-C-1] o.a.k.c.c.internals.ConsumerCoordinator : [Consumer clientId=consumer-anonymous.0fa8a41c-49f8-4cdb-bb46-b87da258dee6-2, groupId=anonymous.0fa8a41c-49f8-4cdb-bb46-b87da258dee6] Adding newly assigned partitions: employees-topic-0 2023-11-20T14:54:27.940Z INFO 674 --- [container-0-C-1] o.a.k.c.c.internals.ConsumerCoordinator : [Consumer clientId=consumer-anonymous.0fa8a41c-49f8-4cdb-bb46-b87da258dee6-2, groupId=anonymous.0fa8a41c-49f8-4cdb-bb46-b87da258dee6] Found no committed offset for partition employees-topic-0 2023-11-20T14:54:27.940Z INFO 674 --- [pool-2-thread-1] o.a.k.c.c.internals.ConsumerCoordinator : [Consumer clientId=consumer-anonymous.0fa8a41c-49f8-4cdb-bb46-b87da258dee6-4, groupId=anonymous.0fa8a41c-49f8-4cdb-bb46-b87da258dee6] Found no committed offset for partition employees-topic-0 2023-11-20T14:54:27.942Z INFO 674 --- [container-0-C-1] o.a.k.c.c.internals.ConsumerCoordinator : [Consumer clientId=consumer-anonymous.0fa8a41c-49f8-4cdb-bb46-b87da258dee6-2, groupId=anonymous.0fa8a41c-49f8-4cdb-bb46-b87da258dee6] Found no committed offset for partition employees-topic-0 2023-11-20T14:54:27.945Z INFO 674 --- [container-0-C-1] o.a.k.c.c.internals.SubscriptionState : [Consumer clientId=consumer-anonymous.0fa8a41c-49f8-4cdb-bb46-b87da258dee6-2, groupId=anonymous.0fa8a41c-49f8-4cdb-bb46-b87da258dee6] Resetting offset for partition employees-topic-0 to position FetchPosition{offset=16, offsetEpoch=Optional.empty, currentLeader=LeaderAndEpoch{leader=Optional[127.0.0.1:9092 (id: 0 rack: null)], epoch=0}}. 2023-11-20T14:54:27.949Z INFO 674 --- [container-0-C-1] o.s.c.s.b.k.KafkaMessageChannelBinder$2 : anonymous.0fa8a41c-49f8-4cdb-bb46-b87da258dee6: partitions assigned: [employees-topic-0] 2023-11-20T14:54:32.971Z ERROR 674 --- [container-0-C-1] o.s.k.l.KafkaMessageListenerContainer : Stopping container due to an Error

java.lang.LinkageError: ClassCastException: attempting to castjar:file:/Users/saurav.das2/.m2/repository/jakarta/ws/rs/jakarta.ws.rs-api/2.1.6/jakarta.ws.rs-api-2.1.6.jar!/javax/ws/rs/ext/RuntimeDelegate.class to jar:file:/Users/saurav.das2/.m2/repository/jakarta/ws/rs/jakarta.ws.rs-api/2.1.6/jakarta.ws.rs-api-2.1.6.jar!/javax/ws/rs/ext/RuntimeDelegate.class at javax.ws.rs.ext.RuntimeDelegate.findDelegate(RuntimeDelegate.java:124) ~[jakarta.ws.rs-api-2.1.6.jar:2.1.6] at javax.ws.rs.ext.RuntimeDelegate.getInstance(RuntimeDelegate.java:96) ~[jakarta.ws.rs-api-2.1.6.jar:2.1.6] at javax.ws.rs.core.UriBuilder.newInstance(UriBuilder.java:72) ~[jakarta.ws.rs-api-2.1.6.jar:2.1.6] at javax.ws.rs.core.UriBuilder.fromPath(UriBuilder.java:125) ~[jakarta.ws.rs-api-2.1.6.jar:2.1.6] at io.confluent.kafka.schemaregistry.client.rest.RestService.getId(RestService.java:713) ~[kafka-schema-registry-client-6.2.0.jar:na] at io.confluent.kafka.schemaregistry.client.rest.RestService.getId(RestService.java:699) ~[kafka-schema-registry-client-6.2.0.jar:na] at io.confluent.kafka.schemaregistry.client.CachedSchemaRegistryClient.getSchemaByIdFromRegistry(CachedSchemaRegistryClient.java:224) ~[kafka-schema-registry-client-6.2.0.jar:na] at io.confluent.kafka.schemaregistry.client.CachedSchemaRegistryClient.getSchemaBySubjectAndId(CachedSchemaRegistryClient.java:298) ~[kafka-schema-registry-client-6.2.0.jar:na] at io.confluent.kafka.schemaregistry.client.CachedSchemaRegistryClient.getSchemaById(CachedSchemaRegistryClient.java:283) ~[kafka-schema-registry-client-6.2.0.jar:na] at io.confluent.kafka.serializers.AbstractKafkaAvroDeserializer$DeserializationContext.schemaFromRegistry(AbstractKafkaAvroDeserializer.java:307) ~[kafka-avro-serializer-6.2.0.jar:na] at io.confluent.kafka.serializers.AbstractKafkaAvroDeserializer.deserialize(AbstractKafkaAvroDeserializer.java:107) ~[kafka-avro-serializer-6.2.0.jar:na] at io.confluent.kafka.serializers.AbstractKafkaAvroDeserializer.deserialize(AbstractKafkaAvroDeserializer.java:86) ~[kafka-avro-serializer-6.2.0.jar:na] at io.confluent.kafka.serializers.KafkaAvroDeserializer.deserialize(KafkaAvroDeserializer.java:55) ~[kafka-avro-serializer-6.2.0.jar:na] at org.apache.kafka.common.serialization.Deserializer.deserialize(Deserializer.java:60) ~[kafka-clients-3.4.1.jar:na] at org.apache.kafka.clients.consumer.internals.Fetcher.parseRecord(Fetcher.java:1429) ~[kafka-clients-3.4.1.jar:na] at org.apache.kafka.clients.consumer.internals.Fetcher.access$3400(Fetcher.java:133) ~[kafka-clients-3.4.1.jar:na] at org.apache.kafka.clients.consumer.internals.Fetcher$CompletedFetch.fetchRecords(Fetcher.java:1661) ~[kafka-clients-3.4.1.jar:na] at org.apache.kafka.clients.consumer.internals.Fetcher$CompletedFetch.access$1900(Fetcher.java:1497) ~[kafka-clients-3.4.1.jar:na] at org.apache.kafka.clients.consumer.internals.Fetcher.fetchRecords(Fetcher.java:717) ~[kafka-clients-3.4.1.jar:na] at org.apache.kafka.clients.consumer.internals.Fetcher.collectFetch(Fetcher.java:683) ~[kafka-clients-3.4.1.jar:na] at org.apache.kafka.clients.consumer.KafkaConsumer.pollForFetches(KafkaConsumer.java:1314) ~[kafka-clients-3.4.1.jar:na] at org.apache.kafka.clients.consumer.KafkaConsumer.poll(KafkaConsumer.java:1243) ~[kafka-clients-3.4.1.jar:na] at org.apache.kafka.clients.consumer.KafkaConsumer.poll(KafkaConsumer.java:1216) ~[kafka-clients-3.4.1.jar:na] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343) ~[spring-aop-6.0.13.jar:6.0.13] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:237) ~[spring-aop-6.0.13.jar:6.0.13] at jdk.proxy2/jdk.proxy2.$Proxy109.poll(Unknown Source) ~[na:na] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.pollConsumer(KafkaMessageListenerContainer.java:1676) ~[spring-kafka-3.0.12.jar:3.0.12] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doPoll(KafkaMessageListenerContainer.java:1651) ~[spring-kafka-3.0.12.jar:3.0.12] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.pollAndInvoke(KafkaMessageListenerContainer.java:1452) ~[spring-kafka-3.0.12.jar:3.0.12] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.run(KafkaMessageListenerContainer.java:1344) ~[spring-kafka-3.0.12.jar:3.0.12] at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[na:na] at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na]

2023-11-20T14:54:32.975Z INFO 674 --- [container-0-C-1] o.a.k.c.c.internals.ConsumerCoordinator : [Consumer clientId=consumer-anonymous.0fa8a41c-49f8-4cdb-bb46-b87da258dee6-2, groupId=anonymous.0fa8a41c-49f8-4cdb-bb46-b87da258dee6] Revoke previously assigned partitions employees-topic-0 2023-11-20T14:54:32.975Z INFO 674 --- [container-0-C-1] o.s.c.s.b.k.KafkaMessageChannelBinder$2 : anonymous.0fa8a41c-49f8-4cdb-bb46-b87da258dee6: partitions revoked: [employees-topic-0] 2023-11-20T14:54:32.975Z INFO 674 --- [container-0-C-1] o.a.k.c.c.internals.ConsumerCoordinator : [Consumer clientId=consumer-anonymous.0fa8a41c-49f8-4cdb-bb46-b87da258dee6-2, groupId=anonymous.0fa8a41c-49f8-4cdb-bb46-b87da258dee6] Member consumer-anonymous.0fa8a41c-49f8-4cdb-bb46-b87da258dee6-2-543b2ae3-aaea-4006-bbe1-608455db755e sending LeaveGroup request to coordinator 127.0.0.1:9092 (id: 2147483647 rack: null) due to the consumer is being closed 2023-11-20T14:54:32.975Z INFO 674 --- [container-0-C-1] o.a.k.c.c.internals.ConsumerCoordinator : [Consumer clientId=consumer-anonymous.0fa8a41c-49f8-4cdb-bb46-b87da258dee6-2, groupId=anonymous.0fa8a41c-49f8-4cdb-bb46-b87da258dee6] Resetting generation and member id due to: consumer pro-actively leaving the group 2023-11-20T14:54:32.975Z INFO 674 --- [container-0-C-1] o.a.k.c.c.internals.ConsumerCoordinator : [Consumer clientId=consumer-anonymous.0fa8a41c-49f8-4cdb-bb46-b87da258dee6-2, groupId=anonymous.0fa8a41c-49f8-4cdb-bb46-b87da258dee6] Request joining group due to: consumer pro-actively leaving the group 2023-11-20T14:54:32.978Z INFO 674 --- [container-0-C-1] o.apache.kafka.common.metrics.Metrics : Metrics scheduler closed 2023-11-20T14:54:32.978Z INFO 674 --- [container-0-C-1] o.apache.kafka.common.metrics.Metrics : Closing reporter org.apache.kafka.common.metrics.JmxReporter 2023-11-20T14:54:32.978Z INFO 674 --- [container-0-C-1] o.apache.kafka.common.metrics.Metrics
: Metrics reporters closed 2023-11-20T14:54:32.979Z INFO 674 --- [container-0-C-1] o.a.kafka.common.utils.AppInfoParser : App info kafka.consumer for consumer-anonymous.0fa8a41c-49f8-4cdb-bb46-b87da258dee6-2 unregistered 2023-11-20T14:54:32.979Z INFO 674 --- [container-0-C-1] o.s.k.l.KafkaMessageListenerContainer : anonymous.0fa8a41c-49f8-4cdb-bb46-b87da258dee6: Consumer stopped 2023-11-20T14:54:32.980Z ERROR 674 --- [container-0-C-1] o.s.k.l.KafkaMessageListenerContainer : Error while stopping the container

java.util.concurrent.CompletionException: java.lang.LinkageError: ClassCastException: attempting to castjar:file:/Users/saurav.das2/.m2/repository/jakarta/ws/rs/jakarta.ws.rs-api/2.1.6/jakarta.ws.rs-api-2.1.6.jar!/javax/ws/rs/ext/RuntimeDelegate.class to jar:file:/Users/saurav.das2/.m2/repository/jakarta/ws/rs/jakarta.ws.rs-api/2.1.6/jakarta.ws.rs-api-2.1.6.jar!/javax/ws/rs/ext/RuntimeDelegate.class at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) ~[na:na] at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) ~[na:na] at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1807) ~[na:na] at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na] Caused by: java.lang.LinkageError: ClassCastException: attempting to castjar:file:/Users/saurav.das2/.m2/repository/jakarta/ws/rs/jakarta.ws.rs-api/2.1.6/jakarta.ws.rs-api-2.1.6.jar!/javax/ws/rs/ext/RuntimeDelegate.class to jar:file:/Users/saurav.das2/.m2/repository/jakarta/ws/rs/jakarta.ws.rs-api/2.1.6/jakarta.ws.rs-api-2.1.6.jar!/javax/ws/rs/ext/RuntimeDelegate.class at javax.ws.rs.ext.RuntimeDelegate.findDelegate(RuntimeDelegate.java:124) ~[jakarta.ws.rs-api-2.1.6.jar:2.1.6] at javax.ws.rs.ext.RuntimeDelegate.getInstance(RuntimeDelegate.java:96) ~[jakarta.ws.rs-api-2.1.6.jar:2.1.6] at javax.ws.rs.core.UriBuilder.newInstance(UriBuilder.java:72) ~[jakarta.ws.rs-api-2.1.6.jar:2.1.6] at javax.ws.rs.core.UriBuilder.fromPath(UriBuilder.java:125) ~[jakarta.ws.rs-api-2.1.6.jar:2.1.6] at io.confluent.kafka.schemaregistry.client.rest.RestService.getId(RestService.java:713) ~[kafka-schema-registry-client-6.2.0.jar:na] at io.confluent.kafka.schemaregistry.client.rest.RestService.getId(RestService.java:699) ~[kafka-schema-registry-client-6.2.0.jar:na] at io.confluent.kafka.schemaregistry.client.CachedSchemaRegistryClient.getSchemaByIdFromRegistry(CachedSchemaRegistryClient.java:224) ~[kafka-schema-registry-client-6.2.0.jar:na] at io.confluent.kafka.schemaregistry.client.CachedSchemaRegistryClient.getSchemaBySubjectAndId(CachedSchemaRegistryClient.java:298) ~[kafka-schema-registry-client-6.2.0.jar:na] at io.confluent.kafka.schemaregistry.client.CachedSchemaRegistryClient.getSchemaById(CachedSchemaRegistryClient.java:283) ~[kafka-schema-registry-client-6.2.0.jar:na] at io.confluent.kafka.serializers.AbstractKafkaAvroDeserializer$DeserializationContext.schemaFromRegistry(AbstractKafkaAvroDeserializer.java:307) ~[kafka-avro-serializer-6.2.0.jar:na] at io.confluent.kafka.serializers.AbstractKafkaAvroDeserializer.deserialize(AbstractKafkaAvroDeserializer.java:107) ~[kafka-avro-serializer-6.2.0.jar:na] at io.confluent.kafka.serializers.AbstractKafkaAvroDeserializer.deserialize(AbstractKafkaAvroDeserializer.java:86) ~[kafka-avro-serializer-6.2.0.jar:na] at io.confluent.kafka.serializers.KafkaAvroDeserializer.deserialize(KafkaAvroDeserializer.java:55) ~[kafka-avro-serializer-6.2.0.jar:na] at org.apache.kafka.common.serialization.Deserializer.deserialize(Deserializer.java:60) ~[kafka-clients-3.4.1.jar:na] at org.apache.kafka.clients.consumer.internals.Fetcher.parseRecord(Fetcher.java:1429) ~[kafka-clients-3.4.1.jar:na] at org.apache.kafka.clients.consumer.internals.Fetcher.access$3400(Fetcher.java:133) ~[kafka-clients-3.4.1.jar:na] at org.apache.kafka.clients.consumer.internals.Fetcher$CompletedFetch.fetchRecords(Fetcher.java:1661) ~[kafka-clients-3.4.1.jar:na] at org.apache.kafka.clients.consumer.internals.Fetcher$CompletedFetch.access$1900(Fetcher.java:1497) ~[kafka-clients-3.4.1.jar:na] at org.apache.kafka.clients.consumer.internals.Fetcher.fetchRecords(Fetcher.java:717) ~[kafka-clients-3.4.1.jar:na] at org.apache.kafka.clients.consumer.internals.Fetcher.collectFetch(Fetcher.java:683) ~[kafka-clients-3.4.1.jar:na] at org.apache.kafka.clients.consumer.KafkaConsumer.pollForFetches(KafkaConsumer.java:1314) ~[kafka-clients-3.4.1.jar:na] at org.apache.kafka.clients.consumer.KafkaConsumer.poll(KafkaConsumer.java:1243) ~[kafka-clients-3.4.1.jar:na] at org.apache.kafka.clients.consumer.KafkaConsumer.poll(KafkaConsumer.java:1216) ~[kafka-clients-3.4.1.jar:na] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343) ~[spring-aop-6.0.13.jar:6.0.13] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:237) ~[spring-aop-6.0.13.jar:6.0.13] at jdk.proxy2/jdk.proxy2.$Proxy109.poll(Unknown Source) ~[na:na] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.pollConsumer(KafkaMessageListenerContainer.java:1676) ~[spring-kafka-3.0.12.jar:3.0.12] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.doPoll(KafkaMessageListenerContainer.java:1651) ~[spring-kafka-3.0.12.jar:3.0.12] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.pollAndInvoke(KafkaMessageListenerContainer.java:1452) ~[spring-kafka-3.0.12.jar:3.0.12] at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.run(KafkaMessageListenerContainer.java:1344) ~[spring-kafka-3.0.12.jar:3.0.12] at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804) ~[na:na] ... 1 common frames omitted

2023-11-20T14:55:54.007Z INFO 674 --- [ionShutdownHook] s.i.k.i.KafkaMessageDrivenChannelAdapter : stopped org.springframework.integration.kafka.inbound.KafkaMessageDrivenChannelAdapter@3636f2a7 2023-11-20T14:55:54.013Z INFO 674 --- [ionShutdownHook] o.s.c.stream.binder.BinderErrorChannel : Channel 'application.kafka-1811235424.argosPaymentsConsumer-in-0.errors' has 1 subscriber(s). 2023-11-20T14:55:54.024Z INFO 674 --- [ionShutdownHook] o.s.i.endpoint.EventDrivenConsumer : Removing {logging-channel-adapter:_org.springframework.integration.errorLogger} as a subscriber to the 'errorChannel' channel 2023-11-20T14:55:54.024Z INFO 674 --- [ionShutdownHook] o.s.i.channel.PublishSubscribeChannel
: Channel 'application.errorChannel' has 0 subscriber(s). 2023-11-20T14:55:54.025Z INFO 674 --- [ionShutdownHook] o.s.i.endpoint.EventDrivenConsumer : stopped bean '_org.springframework.integration.errorLogger' 2023-11-20T14:55:54.028Z INFO 674 --- [| adminclient-2] o.a.kafka.common.utils.AppInfoParser : App info kafka.admin.client for adminclient-2 unregistered 2023-11-20T14:55:54.029Z INFO 674 --- [| adminclient-2] o.apache.kafka.common.metrics.Metrics : Metrics scheduler closed 2023-11-20T14:55:54.029Z INFO 674 --- [|

Upvotes: 0

Views: 795

Answers (1)

Laurent Schoelens
Laurent Schoelens

Reputation: 2818

You depend on old javax dependency like jakarta.ws.rs-api in 2.1.6 version. It's jakarta dependency since 3.0.0 and will be mandatory in order to migrate to Spring Boot 3.

Also see : https://github.com/confluentinc/schema-registry/issues/2770

Seems that migration to SB3 will be complicated due to this issue.

Hope you'll find a solution which is not going back to Spring Boot 2.7

Upvotes: 1

Related Questions