From 521909c931d044e2f67390e82b8d9c5040c924db Mon Sep 17 00:00:00 2001 From: pabloFuente Date: Mon, 28 Sep 2020 18:26:37 +0200 Subject: [PATCH] openvidu-server: DockerManager.close --- .../server/recording/service/RecordingManager.java | 7 ++++--- .../java/io/openvidu/server/utils/DockerManager.java | 10 +++++++++- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/openvidu-server/src/main/java/io/openvidu/server/recording/service/RecordingManager.java b/openvidu-server/src/main/java/io/openvidu/server/recording/service/RecordingManager.java index a63533c4..21cfc13e 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/recording/service/RecordingManager.java +++ b/openvidu-server/src/main/java/io/openvidu/server/recording/service/RecordingManager.java @@ -216,10 +216,9 @@ public class RecordingManager { public void checkRecordingRequirements(String openviduRecordingPath, String openviduRecordingCustomLayout) throws OpenViduException { - if (dockerManager == null) { - this.dockerManager = new DockerManager(); - } + DockerManager dockerManager = null; try { + dockerManager = new DockerManager(); dockerManager.checkDockerEnabled(); } catch (OpenViduException e) { String message = e.getMessage(); @@ -238,6 +237,8 @@ public class RecordingManager { } log.error(message); throw e; + } finally { + dockerManager.close(); } this.checkRecordingPaths(openviduRecordingPath, openviduRecordingCustomLayout); } diff --git a/openvidu-server/src/main/java/io/openvidu/server/utils/DockerManager.java b/openvidu-server/src/main/java/io/openvidu/server/utils/DockerManager.java index c616729b..f3ad46c4 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/utils/DockerManager.java +++ b/openvidu-server/src/main/java/io/openvidu/server/utils/DockerManager.java @@ -57,7 +57,7 @@ public class DockerManager { private static final Logger log = LoggerFactory.getLogger(DockerManager.class); - DockerClient dockerClient; + private DockerClient dockerClient; public DockerManager() { DockerClientConfig config = DefaultDockerClientConfig.createDefaultConfigBuilder().build(); @@ -246,6 +246,14 @@ public class DockerManager { return containerInfo.getConfig().getLabels(); } + public void close() { + try { + this.dockerClient.close(); + } catch (IOException e) { + log.error("Error closing DockerClient: {}", e.getMessage()); + } + } + static public String getDockerGatewayIp() { try { return CommandExecutor.execCommand(5000, "/bin/sh", "-c",