How to get Replication Factor of Kafka Topic from Java code

Arthur Fonzerelli :

I have some topic name and i should to get info about it's replication factor from my Java application. I tried to do that with zookeeper library:

ZooKeeper zooKeeper = new ZooKeeper("localhost:22181", 10000, null);
String s = new String(zooKeeper.getData("/brokers/topics/" + KafkaTopicConfig.TOPIC_NAME, false, null));

But it has now info about replication factor, only info about current replicas count. I tried to do that with kafka-client api:

TopicDescription topicDescriptionKafkaFuture = describeTopicsResult.values().get(KafkaTopicConfig.TOPIC_NAME).get();

But there is also no info about topic's replication factor. Is there anyway to get that info from Java Code?

cricket_007 :

Yes, it is possible. All the shell scripts are just Java (or Scala) code!

In the source code of kafka-topics --describe --topic, it looks at partitions(0).replicas

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=20831&siteId=1