Spring Boot запускает Zookeeper и Kafka Server с Java - PullRequest
1 голос
/ 02 апреля 2019

До сих пор я запускал zookeeper и kafka server из командной строки перед запуском моего приложения Spring Boot, но теперь мне нужно запустить их непосредственно из кода.
Во-первых, я пытался использовать 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; как этого добиться?

1 Ответ

0 голосов
/ 02 апреля 2019

Вам нужно будет использовать ZookeeperExecutor, чтобы запустить Zookeeper API из «вашего» Java-приложения, указав 4 начальных аргумента и наладчик потока на месте.Один пример приведен в документации ZooKeeper API https://zookeeper.apache.org/doc/r3.4.13/javaExample.html и https://www.programcreek.com/java-api-examples/?api=org.apache.zookeeper.server.ZooKeeperServerMain

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...