SpringBoot(2.1.3)整合kafka(kafka_2.12-2.5.0)報錯【KafkaException: Failed to construct kafka producer】

<-----------記錄一次Spring Boot整合kafka報錯原因與解決過程-------------------->
問題描述:

SpringBoot版本:
在這裏插入圖片描述
SpringBoot-kafka依賴:
在這裏插入圖片描述
Linux上kafka版本:
在這裏插入圖片描述
yml配置:
在這裏插入圖片描述
Java代碼:
在這裏插入圖片描述
報錯:
在這裏插入圖片描述
在這裏插入圖片描述

解決BUG:
1.看見報錯不要着急,直奔最後看【Caused by】的描述可知是序列化的方式錯誤,反查yml中的配置發現生產者的序列化配置有誤
在這裏插入圖片描述
由於給生產者配置成了【value-serializer: org.apache.kafka.common.serialization.StringDeserializer】所以導致一直報錯
正確的配置:


#kafka配置
spring.kafka.bootstrap-servers=127.0.0.1:9092
#=============== provider  =======================
spring.kafka.producer.retries=0
# 每次批量發送消息的數量
spring.kafka.producer.batch-size=16384
spring.kafka.producer.buffer-memory=33554432
# 指定消息key和消息體的編解碼方式
spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer
spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer
#=============== consumer  =======================
# 指定默認消費者group id
spring.kafka.consumer.group-id=test-consumer-group
spring.kafka.consumer.auto-offset-reset=earliest
spring.kafka.consumer.enable-auto-commit=true
spring.kafka.consumer.auto-commit-interval=100
# 指定消息key和消息體的編解碼方式
spring.kafka.consumer.key-deserializer=org.apache.kafka.common.serialization.StringDeserializer
spring.kafka.consumer.value-deserializer=org.apache.kafka.common.serialization.StringDeserializer

**

***注:如果本博客對你有幫助請給博主點個贊 ***

**

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章