package com.github.ddth.kafka.qnd; import java.util.Random; import java.util.concurrent.TimeUnit; import com.github.ddth.kafka.KafkaClient; import com.github.ddth.kafka.KafkaMessage; public class QndConsumerThread { public static void main(String[] args) throws Exception { final Random RAND = new Random(System.currentTimeMillis()); final String BOOTSTRAP_SERVERS = "localhost:9092"; // final String GROUP_ID = "mynewid-" + System.currentTimeMillis(); final String GROUP_ID = "mygroupid"; // final boolean CONSUME_FROM_BEGINNING = true; final KafkaClient.ProducerType PRODUCER_TYPE = KafkaClient.ProducerType.LEADER_ACK; final String TOPIC = "ddth-kafka"; try (KafkaClient kafkaClient = new KafkaClient(BOOTSTRAP_SERVERS)) { kafkaClient.init(); Thread t = new Thread() { public void run() { while (true) { KafkaMessage msg = kafkaClient.consumeMessage(GROUP_ID, TOPIC, 1000, TimeUnit.MILLISECONDS); if (msg != null) { System.out.println(msg); } } } }; t.setDaemon(true); t.start(); for (int i = 0; i < 10; i++) { KafkaMessage msg = new KafkaMessage(TOPIC, i + ": " + System.currentTimeMillis()); kafkaClient.sendMessage(PRODUCER_TYPE, msg); Thread.sleep(RAND.nextInt(1000) + 1); } Thread.sleep(4000); } } }