[英]NoSuchMethodError: void org.apache.kafka.common.metrics.Sensor.add
[英]How to solve Kafka message producer NoSuchMethodError org.apache.kafka.common.security.ssl.SslFactory.sslEngineBuilder()
我正在嘗試運行一個簡單的消息生成器,它利用 SSL 安全性與 Confluent 平台連接。 我正在使用來自 Spring Kafka 的KafkaTemplate
來發送消息。 但是,在我調用kafkaTemplate.send()
時,我收到以下消息:
Failed to construct kafka producer
java.lang.NoSuchMethodError: org.apache.kafka.common.security.ssl.SslFactory.sslEngineBuilder()Lorg/apache/kafka/common/security/ssl/SslEngineBuilder;
我不確定這個問題是否源於屬性文件中缺少的屬性(例如spring.kafka.properties.*
),或者問題是否是依賴關系之一。 在我的 pom.xml 文件中,我有以下內容:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
</dependency>
<dependency>
<groupId>io.confluent</groupId>
<artifactId>kafka-avro-serializer</artifactId>
<version>5.5.1</version>
</dependency>
<dependency>
<groupId>io.confluent</groupId>
<artifactId>kafka-streams-avro-serde</artifactId>
<version>5.5.1</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.confluent</groupId>
<artifactId>kafka-client-plugins</artifactId>
<version>5.5.1-ce</version>
</dependency>
</dependencies>
到目前為止,我一直無法找到為什么找不到該特定方法。 我懷疑我缺少一個或多個屬性,但我不確定是哪一個。
在屬性文件中,我有以下值
spring.kafka.properties.basic.auth.credentials.source=USER_INFO
spring.kafka.properties.security.protocol=SASL_SSL
spring.kafka.properties.sasl.mechanism=OAUTHBEARER
spring.kafka.properties.sasl.login.callback.handler.class=io.confluent.kafka.clients.plugins.auth.token.TokenUserLoginCallbackHandler
spring.kafka.properties.sasl.jaas.config=org.apache.kafka.common.security.oauthbearer.OAuthBearerLoginModule required username=<removed> password=<removed> metadataServerUrls=<removed>
根據我所做的研究和此處提供的幫助,我已經能夠確定問題是兼容性問題之一。 Confluent 5.5.1 庫與 Spring Boot 2.4.x 不兼容,因為與 Spring Boot 2.4.x兼容的kafka-clients 2.6.0
與該版本的 Confluent 不兼容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.