Как использовать данные из Apache Kafka в Spring Boot - PullRequest
0 голосов
/ 19 февраля 2020

Я получил json, используя kafka-avro console-consumer. Теперь я хочу получить json в консоли spring-boot. Что делать дальше?

Ответы [ 2 ]

0 голосов
/ 25 февраля 2020

@ KafkaListener Аннотация может использоваться для чтения сообщений из kafka topi c.

Вот рабочий пример класса, который читает сообщения Kafka:

import org.springframework.kafka.annotation.KafkaListener;

public class KafkaReader {

  private String latestMessage = "";

  @KafkaListener(topics = "${kafka.topic}")
  public void receive(String payload) {
      latestMessage = payload;
  }

  public String getLatestMessage() {
      System.out.println("Message read from topic: \n" + latestMessage);

      // Code to format the message

      return latestMessage.trim();
  }
}
0 голосов
/ 19 февраля 2020

Вам просто нужно создать потребителя:

@Service
public class Consumer {

    private final Logger logger = LoggerFactory.getLogger(Consumer.class);

    @KafkaListener(topics = "myTopic", groupId = "myTopic-consumer-group")
    public void consume(String message) throws IOException {
        logger.info(String.format("Message: %s", message));
    }
}
...