【发布时间】:2019-08-23 19:22:48
【问题描述】:
到目前为止,我已经在运行 Spring Boot 应用程序之前从命令行启动了 zookeeper 和 kafka 服务器,但现在我需要直接从代码启动它们。
首先,我尝试在 main 方法中使用 ProcessBuilder:
Process process = new ProcessBuilder("C:\\kafka_2.12-2.2.0\\bin\\windows\\zookeeper-server-start.bat",
"C:\\kafka_2.12-2.2.0\\config\\zookeeper.properties").start();
InputStream is = process.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
但这似乎不起作用,因为控制台上没有打印任何内容,过了一会儿应用程序抛出了 TimeOutException。
其次,我想让 kafka 服务器在 Zookeeper 启动后运行;怎样才能做到这一点?
【问题讨论】:
-
请问您为什么需要从您的代码中启动它们?
-
@pgras 只是为了方便和快捷
-
如果你想在 spring boot 中嵌入 kafka,试试这个stackoverflow.com/questions/48753051/…
标签: java apache-kafka