簡體   English   中英

以 avro 格式使用來自 apache kafka 的消息

[英]Consuming messages from apache kafka in avro format

我想使用spring-Kafka庫使用spring boot配置的消費者來消費來自我的Kafka代理的消息,源是一個JDBC連接器,它負責從MySQL數據庫中提取消息,這些消息需要被消費

下面我附上我的 application.yml 文件

server:
  port: 9000
spring:
  kafka:
    consumer:
      bootstrap-servers: localhost:9092
      group-id: group_id
      auto-offset-reset: earliest
      key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
      value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
    producer:
      bootstrap-servers: localhost:9092
      key-serializer: org.apache.kafka.common.serialization.StringSerializer
      value-serializer: org.apache.kafka.common.serialization.StringSerializer

消費者 -

  @KafkaListener(topics = "Sample-Topic", groupId = "group_id")
    public void consume(String message) throws IOException {
        System.out.println(message);
    }

當我使用 JDBC 連接器時,主題中的消息以 Avro 格式存儲。

我得到的不是 JSON,而是加密輸出,並且一些輸出消息只是純字符串。

您需要使用 avro deserializer 而不是StringDeserializer

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM