【发布时间】:2018-02-13 02:10:10
【问题描述】:
我的 Kafka 消费者没有从我的生产者那里读取信息。我注意到在调用 poll 方法之后,代码没有执行打印“Hello”,也没有显示错误消息。
代码执行得很好,但是如果在 poll 方法之后就中断了
注意:我的制作人工作得很好。我创建了一个消费者来测试它。
代码:
public class ConsumerApp {
public static void main(String[] args) {
// Create Propety dictionary for the producer Config settings
Properties props = new Properties();
props.put("bootstrap.servers", "localhost:9092");
props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
props.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
KafkaConsumer<String, String> myconsumer = new KafkaConsumer<String, String>(props);
myconsumer.subscribe(Arrays.asList("test"));
try {
while (true) {
ConsumerRecords<String, String> records = myconsumer.poll(100);
System.out.println("hello");
// processing logic goes here
for (ConsumerRecord<String, String> record : records) {
// processing records
System.out.println(String.format(record.topic(), record.partition(), record.offset(), record.key(),
record.value()));
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
// Closing Consumer
myconsumer.close();
}
}
}
【问题讨论】:
-
您是否使用 KafkaConsoleProducer/Consumer 测试过您的 Kafka 环境设置?
-
是的,我做到了,它可以工作,但是当我用 java 创建我的消费者时它不起作用!
标签: apache-kafka kafka-consumer-api data-science