kafka消费者consumer代码示例:
import org.apache.kafka.clients.consumer.ConsumerConfig;
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.serialization.StringDeserializer;
import java.util.Arrays;
import java.util.Properties;
public class Consumer {
public static final String brokerList = "10.201.83.207:9092,10.202.82.49:9092,10.202.43.113:9092";
public static final String topic = "test-001";
public static final String groupId = "consumer_001_test";
public static Properties initConfig() {
Properties properties = new Properties();
properties.setProperty(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, brokerList);
properties.setProperty(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName());
properties.setProperty(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG,StringDeserializer.class.getName());
properties.setProperty(ConsumerConfig.CLIENT_ID_CONFIG, "consumer-test-001");
properties.setProperty(ConsumerConfig.GROUP_ID_CONFIG,groupId);
return properties;
}
public static void main(String[] args) throws Exception{
Properties props = initConfig();
KafkaConsumer<String,String> consumer = new KafkaConsumer<String, String>(props);
consumer.subscribe(Arrays.asList(topic));
while(true){
ConsumerRecords<String,String> records = consumer.poll(1000);
for(ConsumerRecord<String,String> record:records){
System.out.println("topic="+record.topic()+",partition="+record.partition()
+",offset="+record.offset()+",key="+record.key()+",value="+record.value());
}
}
}
}
限速启动consumer消费者程序,然后启动producer生产者程序 生产者程序示例代码,能够正常消费消息: