javaapi如何获取kafka所有Topic列表,并放置为⼀个list
kafka内部所有的实现都是通过TopicCommand的main⽅法,通过java代码调⽤API,TopicCommand.main(options)的⽅式只能打印到控制台,不能转换到⼀个list。
kafka命令
下⾯讲解下如何转换为list:
1、查看主题(Topic)
【命令⽅式】:bin/kafka-topics.sh --list --zookeeper 192.168.2.212:2181/kafka
【JAVA API⽅式】:
public static void main(String[] args) {
String[] options = new String[]{
"--list",
"--zookeeper",
"192.168.2.212:2181/kafka"
ByteArrayOutputStream byteStream = new ByteArrayOutputStream(1024*3);
// cache stream
PrintStream cacheStream = new PrintStream(byteStream);
// old stream
PrintStream oldStream = System.out;
System.setOut(cacheStream);
TopicCommand.main(options);
String message = String();
List<String> ls = new ArrayList<String>();
String[]ss = message.split("\n");
ls = Arrays.asList(ss);
/
/ Restore old stream
System.setOut(oldStream);
for(int i=0;i<ss.length;i++){//循环遍历转换后的list中的topic
  System.out.(i));
}
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。