java - 如何从Java中的kafka服务器获取主题列表

标签 java apache-kafka

我正在使用 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/

相关文章:

java - 如何使用 REST API 创建 JIRA 问题,并将受让人设置为未分配

java - "fast-path"无竞争同步是什么意思?

apache-kafka - 有没有办法更新正在运行的 kafka 连接器的配置

java - 性能问题: Latency Spike happens sometimes in Kafka Streams

java - 生产者程序中的kafka网络处理器错误(ArrayIndexOutOfBoundsException : 18)

java - 用 Java 创建新字体

java - 我如何向 :action form 添加数据

Java NoSuchMethodError 相同的类名

java - Spring Kafka 自定义反序列化器

apache-kafka - Kafka的消息默认包含时间戳吗?