Kafka 2.5.0 Admin API 的 listOffset
方法用于获取指定主题分区的最早和最新偏移量。这个方法可以使用不同的时间戳来获取特定时间点的偏移量。
listOffset
方法使用的时间戳listOffset
方法可以使用以下几种时间戳:
以下是一个使用 Java 客户端调用 listOffset
方法的示例代码:
import org.apache.kafka.clients.admin.*;
import java.util.*;
import java.util.concurrent.ExecutionException;
public class KafkaAdminExample {
public static void main(String[] args) throws ExecutionException, InterruptedException {
Properties props = new Properties();
props.put(AdminClientConfig.BOOTSTRAP_SERVERS_CONFIG, "localhost:9092");
AdminClient adminClient = AdminClient.create(props);
ListOffsetsResult listOffsetsResult = adminClient.listOffsets(Collections.singletonMap(
new TopicPartition("my-topic", 0),
new ListOffsetsOptions().timestamp(OffsetAndMetadata.EARLIEST_TIMESTAMP)
));
Map<TopicPartition, ListOffsetsResultInfo> offsets = listOffsetsResult.all().get();
for (Map.Entry<TopicPartition, ListOffsetsResultInfo> entry : offsets.entrySet()) {
System.out.println("Topic: " + entry.getKey().topic() + ", Partition: " + entry.getKey().partition() +
", Offset: " + entry.getValue().offset());
}
adminClient.close();
}
}
通过以上信息,您可以了解 listOffset
方法使用的时间戳类型及其相关应用场景和示例代码。
领取专属 10元无门槛券
手把手带您无忧上云