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

**

***注:如果本博客对你有帮助请给博主点个赞 ***

**

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