我已经设置了Spring Boot应用程序,以从现有和工作的Kafka生产者接收Kafka消息。该设置是标准的,基于以下内容:https://www.codenotfound.com/spring-kafka-consumer-producer-example.html
未收到消息,以下内容不断显示在控制台中:
WARN org.apache.clients.NetworkClient :Bootstrap broker <hostname>:9092 disconnected
此外,记录以下调试消息:
org.apache.common.errors.Timeout: Failed to update metadata after 60000 ms.
在以下链接中讨论了控制台消息:https://community.hortonworks.com/content/supportkb/150148/errorwarn-bootstrap-broker-6668-disconnnected-orgap.html
这里讨论了记录的消息:https://community.cloudera.com/t5/data-ingestion-integration/eror-when-sender-message-message-to-topic-topic-in-kafka/td-p/41440
很可能是在解决第一个问题时不会发生超时。
给出的控制台消息的解决方案是将--security-protocol SSL
作为参数明确传递给生产者或消费者命令。
鉴于我正在聆听现有的Kafka经纪人和主题,因此在那里无法更改设置。任何更改都必须在弹簧靴侧。
是否可以配置application.yml
,以便将--security-protocol SSL
传递给消费者?另外,有人以前是否有过这种情况,并且是否有另一种方法可以使用Spring Boot和Spring Kafka中可用的配置选项来解决问题?
谢谢
请参阅文档。
向下滚动到卡夫卡。可以使用
设置任意Kafka属性spring:
kafka:
properties:
security.protocol: SSL
适用于消费者和生产者(以及2.0中的管理员(。
在即将发布的2.0版本(当前RC1(中,也有
spring:
kafka:
properties:
consumer:
some.property: foo
仅适用于消费者的属性(以及类似于生产者和管理员(。