我正在尝试检查传递给“开始流”方法的主题在我的程序所连接的Kafka中是否有效/已经存在。
我知道Java具有KafkaConsumer.ListTopics,但是我正在使用akka-kafka库,看来ConsumerSetting没有相同的方法。我可以使用执行Kafka-topics --list命令的代码来执行脚本以列出kafka主题,但是我宁愿使用一种不那么笨拙的方式。
答案 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直接暴露给未经身份验证的客户端。