依然是基于《kafka在windows上的安装、运行》一文搭建的环境进行Java的调用开发。
实例一:
生产者代码ProducerDemo.java:
packagecom.bijian.study;importjava.util.Properties;importorg.apache.kafka.clients.producer.Callback;importorg.apache.kafka.clients.producer.KafkaProducer;importorg.apache.kafka.clients.producer.Producer;importorg.apache.kafka.clients.producer.ProducerRecord;importorg.apache.kafka.clients.producer.RecordMetadata;public classProducerDemo {public static voidmain(String[] args) {
String topic= "test";
Properties props= newProperties();
props.put("bootstrap.servers", "localhost:9092"); //这里的localhost可以改成机器名或ip
props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
props.put("acks", "all");
props.put("retries", 1);
Producer producer = new KafkaProducer(props);
producer.send(new ProducerRecord(topic, "bijian"), newCallback() {
@Overridepublic voidonCompletion(RecordMetadata metadata, Exception e) {if (e != null) {
e.printStackTrace();
}else{
System.out.println(metadata.toString());//org.apache.kafka.clients.producer.RecordMetadata@1d89e2b5
System.out.println(metadata.offset());//1
}
}
});
producer.send(new ProducerRecord(topic, "ni hao"), newCallback() {