如何让kafka consumer从指定的位置开始消费
String topic = "test"; TopicPartition tp = new TopicPartition(topic, 0); try (KafkaConsumer<String, String> consumer = new KafkaConsumer<>(configs)) { consumer.subscribe(Arrays.asList(topic), new ConsumerRebalanceListener() { @Override public void onPartitionsRevoked(Collection<TopicPartition> partitions) {} @Override public void onPartitionsAssigned(Collection<TopicPartition> partitions) { // Move to the desired start offset consumer.seek(tp, 100L); } }); boolean run = true; long lastOffset = 200L; while (run) { ConsumerRecords<String, String> crs = consumer.poll(Duration.ofMillis(100L)); for (ConsumerRecord<String, String> record : crs) { System.out.println(record); if (record.offset() == lastOffset) { // Reached the end offsey, stop consuming run = false; break; } } } }
posted on 2021-07-12 10:49 mylittlecabin 阅读(1414) 评论(0) 编辑 收藏 举报