akka-Kafka(scala框架)中是否有功能可以列出所有可用主题

时间:2019-06-05 12:29:31

标签: scala apache-kafka akka akka-stream akka-kafka

我正在尝试检查传递给“开始流”方法的主题在我的程序所连接的Kafka中是否有效/已经存在。

我知道Java具有KafkaConsumer.ListTopics,但是我正在使用akka-kafka库,看来ConsumerSetting没有相同的方法。我可以使用执行Kafka-topics --list命令的代码来执行脚本以列出kafka主题,但是我宁愿使用一种不那么笨拙的方式。

2 个答案:

答案 0 :(得分:0)

最好的方法是从zookeeper获得主题列表,如下所示:

 import org.apache.zookeeper.ZooKeeper;

 val zk = new ZooKeeper("localhost:2181", 10000, null)
 val topics = zk.getChildren("/brokers/topics", false)

答案 1 :(得分:0)

您必须从该Settings对象中create the KafkaConsumer,然后才能使用您提到的API方法。

您不应将Zookeeper直接暴露给未经身份验证的客户端。