2 Star 12 Fork 23

巨轮 / LearnKafka

加入 Gitee
與超過 1200 萬 開發者一起發現、參與優秀開源項目,私有倉庫也完全免費 :)
免費加入
該倉庫未聲明開源許可證文件(LICENSE),使用請關注具體項目描述及其代碼上游依賴。
克隆/下載
CallBackProducer.java 1.63 KB
一鍵複製 編輯 原始數據 按行查看 歷史
巨轮 提交於 2020-07-28 01:03 . First commit
package com.lun.kafka.producer;
import java.util.Properties;
import org.apache.kafka.clients.producer.Callback;
import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.Producer;
import org.apache.kafka.clients.producer.ProducerConfig;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.apache.kafka.clients.producer.RecordMetadata;
public class CallBackProducer {
public static void main(String[] args) {
Properties props = new Properties();
props.put("bootstrap.servers", "127.0.0.1:9092");//kafka 集群, broker-list
props.put("acks", "all");
props.put("retries", 1);//重试次数
props.put("batch.size", 16384);//批次大小
props.put("linger.ms", 1);//等待时间
props.put("buffer.memory", 33554432);//RecordAccumulator 缓冲区大小
props.put("key.serializer",
"org.apache.kafka.common.serialization.StringSerializer");
props.put("value.serializer",
"org.apache.kafka.common.serialization.StringSerializer");
// props.put(ProducerConfig.PARTITIONER_CLASS_CONFIG, MyPartitioner.class);
Producer<String, String> producer = new KafkaProducer<>(props);
for (int i = 0; i < 100; i++) {
producer.send(new ProducerRecord<String, String>("test", "test - 1"), new Callback() {
//回调函数, 该方法会在 Producer 收到 ack 时调用,为异步调用
@Override
public void onCompletion(RecordMetadata metadata, Exception exception) {
if (exception == null) {
System.out.println(metadata.partition() + " - " + metadata.offset());
} else {
exception.printStackTrace();
}
}
});
}
producer.close();
}
}
1
https://gitee.com/jallenkwong/LearnKafka.git
git@gitee.com:jallenkwong/LearnKafka.git
jallenkwong
LearnKafka
LearnKafka
master

搜索幫助