Использование сообщений от apache kafka в формате avro - PullRequest
0 голосов
/ 04 марта 2019

Я хочу получать сообщения от моего брокера Kafka с помощью настроенного потребителя весенней загрузки с использованием библиотеки spring-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);
    }

Сообщения в темах сохраняются в формате Avro, так как я использую JDBC-коннектор.

Вместо JSON я получаю зашифрованный вывод, и некоторые из выводимых сообщений являются только обычными строками.

1 Ответ

0 голосов
/ 04 марта 2019

Вам нужно использовать авро десериализатор вместо StringDeserializer.

...