我正在使用 kafka 0.8
版本并且对它来说非常新。
我想知道在 kafka server
中创建的主题列表以及它的
元数据。
是否有任何 API 可用于找出这一点?
基本上,我需要编写一个 Java 消费者,它应该自动发现 kafka 服务器
中的任何主题。有 API 可以获取 TopicMetadata
,但这需要主题名称作为输入
参数。我需要服务器中存在的所有主题的信息。
最佳答案
使用卡夫卡 0.9.0
您可以使用提供的消费者方法 listTopics() 列出服务器中的主题;
例如。
Map<String, List<PartitionInfo> > topics;
Properties props = new Properties();
props.put("bootstrap.servers", "1.2.3.4:9092");
props.put("group.id", "test-consumer-group");
props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
props.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
KafkaConsumer<String, String> consumer = new KafkaConsumer<String, String>(props);
topics = consumer.listTopics();
consumer.close();
关于java - 如何从Java中的kafka服务器获取主题列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24902301/