在使用Java创建之前检查kafka中是否存在主题
我试图通过使用以下方法在kafka 0.8.2中创建一个主题:
AdminUtils.createTopic(zkClient, myTopic, 2, 1, properties);
如果我在本地多次运行代码进行测试,则会因为主题已经创建而失败。 有没有办法在创建主题之前检查主题是否存在? TopicCommand
api似乎没有为listTopics
或describeTopic
返回任何内容。
为此,您可以使用方法AdminUtils.topicExists(ZkUtils zkClient, String topic)
,如果主题已存在则返回true
,否则返回false
。
您的代码将是这样的:
if (!AdminUtils.topicExists(zkClient, myTopic)){ AdminUtils.createTopic(zkClient, myTopic, 2, 1, properties); }