我做了新的安裝Apache Kafka 0.10.1.0。瞭解消費者組ID
我能夠在命令提示符下發送/接收消息。
在使用生產者/消費者Java示例時,我無法知道消費者示例中的group.id參數。
讓我知道如何解決這個問題。
下面是方示例我用了:
public static void main(String[] args) {
Properties props = new Properties();
props.put("bootstrap.servers", "localhost:9092");
props.put("group.id", "my-topic");
props.put("enable.auto.commit", "true");
props.put("auto.commit.interval.ms", "1000");
props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
props.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props);
try {
consumer.subscribe(Arrays.asList("my-topic"));
ConsumerRecords<String, String> records = consumer.poll(100);
System.err.println("records size=>"+records.count());
for (ConsumerRecord<String, String> record : records)
System.out.printf("offset = %d, key = %s, value = %s%n", record.offset(), record.key(), record.value());
}
catch (Exception ex){
ex.printStackTrace();
}
finally {
consumer.close();
}
}
消費運行命令後,我可以看到張貼的生產者消息(控制檯)。但無法看到從Java程序中的消息
斌\ WINDOWS \卡夫卡控制檯consumer.bat --bootstrap-服務器localhost:9092 --topic我的話題--from-開始
如果您運行Java消費者並在啓動它後生成一些消息,您仍然看不到任何消息正在被消耗? –
是的,我得到控制檯上的消息「records size => 0」 – Ankit