java程序怎么获取kafka的topic

57次阅读
没有评论

共计 1267 个字符,预计需要花费 4 分钟才能阅读完成。

Java 程序可以通过 Kafka 提供的 Java 客户端来获取 Kafka 的 topic。以下是一个获取 topic 列表的示例代码:

import org.apache.kafka.clients.admin.AdminClient;
import org.apache.kafka.clients.admin.ListTopicsResult;
import org.apache.kafka.clients.admin.TopicListing;
import org.apache.kafka.common.KafkaFuture;
import java.util.Collection;
import java.util.Properties;
import java.util.concurrent.ExecutionException;
public class KafkaTopicExample {public static void main(String[] args) {
// Kafka 配置
Properties properties = new Properties();
properties.setProperty("bootstrap.servers", "localhost:9092");
// 创建 AdminClient 对象
try (AdminClient adminClient = AdminClient.create(properties)) {
// 获取 topic 列表
ListTopicsResult topicsResult = adminClient.listTopics();
// 获取 Future 对象
KafkaFuture<Collection> topicListingFuture = topicsResult.listings();
// 获取 topic 列表
Collection topicListings = topicListingFuture.get();
// 遍历输出每个 topic
for (TopicListing topicListing : topicListings) {System.out.println(topicListing.name());
}
} catch (InterruptedException | ExecutionException e) {e.printStackTrace();
}
}
}

在上述代码中,我们首先创建了一个 AdminClient 对象,并传入 Kafka 的配置。然后,我们通过 listTopics 方法获取一个 ListTopicsResult 对象,该对象包含了获取 topic 列表的方法。我们通过调用 listings 方法获取一个 KafkaFuture 对象,该对象代表了一个异步的获取 topic 列表的过程。最后,我们通过调用 get 方法获取真正的 topic 列表,并遍历输出每个 topic 的名称。
请注意,这里的配置中使用了 bootstrap.servers 参数来指定 Kafka 集群的地址,你需要根据你实际的 Kafka 集群配置来修改该参数。

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-20发表,共计1267字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)