2 Star 12 Fork 23

巨轮 / LearnKafka

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
AsyncCommitOffset.java 1.69 KB
一键复制 编辑 原始数据 按行查看 历史
巨轮 提交于 2020-07-28 01:03 . First commit
package com.lun.kafka.consumer;
import java.util.Arrays;
import java.util.Map;
import java.util.Properties;
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.clients.consumer.OffsetAndMetadata;
import org.apache.kafka.clients.consumer.OffsetCommitCallback;
import org.apache.kafka.common.TopicPartition;
public class AsyncCommitOffset {
public static void main(String[] args) {
Properties props = new Properties();
// Kafka 集群
props.put("bootstrap.servers", "hadoop102:9092");
// 消费者组,只要 group.id 相同,就属于同一个消费者组
props.put("group.id", "test");
// 关闭自动提交 offset
props.put("enable.auto.commit", "false");
props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
props.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props);
consumer.subscribe(Arrays.asList("first"));// 消费者订阅主题
while (true) {
ConsumerRecords<String, String> records = consumer.poll(100);// 消费者拉取数据
for (ConsumerRecord<String, String> record : records) {
System.out.printf("offset = %d, key = %s, value = %s%n", record.offset(), record.key(), record.value());
}
// 异步提交
consumer.commitAsync(new OffsetCommitCallback() {
@Override
public void onComplete(Map<TopicPartition, OffsetAndMetadata> offsets, Exception exception) {
if (exception != null) {
System.err.println("Commit failed for" + offsets);
}
}
});
}
}
}
1
https://gitee.com/jallenkwong/LearnKafka.git
git@gitee.com:jallenkwong/LearnKafka.git
jallenkwong
LearnKafka
LearnKafka
master

搜索帮助