package com.dnt.kafkademo; import org.apache.kafka.clients.consumer.Consumer; import org.apache.kafka.clients.consumer.ConsumerRecord; import org.apache.kafka.clients.consumer.ConsumerRecords; import org.apache.kafka.clients.consumer.KafkaConsumer; import org.apache.kafka.common.TopicPartition; import java.io.IOException; import java.util.Map; import java.util.Properties; /** * User: mzang * Date: 2015-04-01 * Time: 14:22 */ public class ConsumerDemo { private Consumer<String, String> consumer; private void init() throws IOException { Properties props = new Properties(); props.load(ConsumerDemo.class.getClassLoader().getResourceAsStream("consumer.properties")); consumer = new KafkaConsumer<String, String>(props); TopicPartition partition0 = new TopicPartition("risklogging.idimodellogdatavo", 0); TopicPartition partition1 = new TopicPartition("risklogging.idimodellogdatavo", 1); TopicPartition partition2 = new TopicPartition("risklogging.idimodellogdatavo", 2); consumer.subscribe(partition0);//partition1, partition2 } public ConsumerDemo() throws IOException { init(); } public Map<String, ConsumerRecords<String, String>> getMessages() { Map<String, ConsumerRecords<String, String>> ret = null; while (ret == null) { ret = consumer.poll(1000); } return ret; } public static void main(String[] args) throws Exception { ConsumerDemo consumerDemo = new ConsumerDemo(); for (Map.Entry<String, ConsumerRecords<String, String>> entry : consumerDemo.getMessages().entrySet()) { System.out.println(entry.getKey()); for (ConsumerRecord<String, String> record : entry.getValue().records()) { System.out.println(record.key()); System.out.println(record.value()); } } } }