пока l oop не прерывается от bufferedReader из docker событий в java - PullRequest
1 голос
/ 28 апреля 2020

В основном, я хочу выполнить команду docker events, которая дает мне кучу событий за последние 15 минут, я написал код, я могу получать события все нормально, но здесь while l oop вырывается и выходит, он продолжает бежать внутри l oop. Я перепробовал так много изменений, но не получилось. Как только убедитесь, что изображение в этом курсоре мигает, не останавливаясь, вручную я должен нажать ctrl + c

try {
    String[] cmd
            = {IMetricsCommands.bin,
                IMetricsCommands.C,
                "docker events --format '{{.Status}}:-{{.Actor.Attributes.name}}' --since '15m'"};
    process = Runtime.getRuntime().exec(cmd);
    process.getOutputStream().close();
    bufferedReaderObj = new BufferedReader(new InputStreamReader(process.getInputStream()));
    AE.logger.stat(ModId.AECORE, "CORE: Command executed for docker container Events Collection");
} catch (Exception e) {

}
String sLine = "";
if ((sLine = bufferedReaderObj.readLine()) == null) {
} else {
    while ((sLine = bufferedReaderObj.readLine()) != null && !sLine.isEmpty()) {
            String[] events = sLine.split(":-");
            if (events[0].contains(":")) {
                String event = events[0].split(":")[0];
                if (eventType.contains(event)) {
                    EventMap.put(event, sLine);
                }
            } else {
                if (eventType.contains(events[0])) {
                    EventMap.put(events[0], events[1]);
                }
            }
        }

enter image description here

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