java查询 rocketmq 的所有Topic
时间: 2023-07-06 16:39:40 浏览: 182
您可以使用 RocketMQ 的 Admin API 来查询所有的 Topic。以下是使用 Java 代码调用 Admin API 查询所有 Topic 的示例:
```java
import org.apache.rocketmq.common.admin.TopicStatsTable;
import org.apache.rocketmq.tools.admin.DefaultMQAdminExt;
public class ListTopics {
public static void main(String[] args) throws Exception {
DefaultMQAdminExt admin = new DefaultMQAdminExt();
admin.start();
TopicStatsTable topicStatsTable = admin.examineTopicStats();
for (String topic : topicStatsTable.getOffsetTable().keySet()) {
System.out.println(topic);
}
admin.shutdown();
}
}
```
在该示例中,我们创建了一个 `DefaultMQAdminExt` 对象,然后调用 `start()` 方法启动它。接着,我们调用 `examineTopicStats()` 方法来获取所有 Topic 的统计信息,然后遍历该统计信息的键集合,输出所有 Topic 的名称。最后,我们调用 `shutdown()` 方法关闭 `DefaultMQAdminExt` 对象。
阅读全文