无法读取基于java的Kafka使用者的一条消息

时间:2016-03-22 15:15:12

标签: java kafka-consumer-api

我尝试实现java Kafka使用者。我使用Kafka服务器版本0.9。 它是出于测试目的,所以我所要做的就是阅读一条消息。

public static ConsumerRecords<String, String> readFromKafka() {
ConsumerRecords<String, String> records = null;
try {
    Properties kafkaProps = new Properties();
    kafkaProps.put("bootstrap.servers", "<KAFKA_SERVER_HOST>:9092");
    kafkaProps.put("auto.commit.enable", "false");
    kafkaProps.put("value.deserializer", StringDeserializer.class.getName());
    kafkaProps.put("key.deserializer", StringDeserializer.class.getName());
    kafkaProps.put("client.id", "testScore0");
    kafkaProps.put("group.id", "testScore1");
    kafkaProps.put("auto.offset.reset", "latest");

    KafkaConsumer<String, String> consumer = new KafkaConsumer<>(kafkaProps);
    consumer.subscribe(Arrays.asList("my_topic"));

    records = consumer.poll(0);

  } catch (Exception e) {
    logger.error("Can not read from kafka", e);
  }
  return records;
}

返回的记录对象为空:

enter image description here

我在本地计算机上执行命令行Kafka使用者,该计算机连接到同一个KAFKA_SERVER_HOST并获取消息。

1 个答案:

答案 0 :(得分:1)

更改

上的投票时间
records = consumer.poll(0);

对于大于0的东西,请尝试使用100。

records = consumer.poll(100);