gpt4 book ai didi

java - 在Java中创建之前检查kafka中是否存在主题

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:09:05 26 4
gpt4 key购买 nike

我正在尝试使用以下方法在 kafka 0.8.2 中创建一个主题:

AdminUtils.createTopic(zkClient, myTopic, 2, 1, properties);

如果我在本地多次运行代码进行测试,则会失败,因为主题已经创建。有没有办法在创建主题之前检查主题是否存在? TopicCommand api 似乎没有为 listTopicsdescribeTopic 返回任何内容.

最佳答案

您可以使用 kakfa-client 版本 0.11.0.0 的 AdminClient

示例代码:

    Properties config = new Properties();
config.put(AdminClientConfig.BOOTSTRAP_SERVERS_CONFIG, "localhist:9091");

AdminClient admin = AdminClient.create(config);
ListTopicsResult listTopics = admin.listTopics();
Set<String> names = listTopics.names().get();
boolean contains = names.contains("TEST_6");
if (!contains) {
List<NewTopic> topicList = new ArrayList<NewTopic>();
Map<String, String> configs = new HashMap<String, String>();
int partitions = 5;
Short replication = 1;
NewTopic newTopic = new NewTopic("TEST_6", partitions, replication).configs(configs);
topicList.add(newTopic);
admin.createTopics(topicList);
}

关于java - 在Java中创建之前检查kafka中是否存在主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30572023/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com