From e2b6963a6b48159dd20957fb6b6190608305d14c Mon Sep 17 00:00:00 2001 From: pabloFuente Date: Thu, 20 May 2021 17:59:30 +0200 Subject: [PATCH] openvidu-server: close sessions before closing KurentoClients on PreDestroy --- .../server/kurento/core/KurentoSessionManager.java | 9 +++++++++ .../java/io/openvidu/server/kurento/kms/KmsManager.java | 4 +--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/openvidu-server/src/main/java/io/openvidu/server/kurento/core/KurentoSessionManager.java b/openvidu-server/src/main/java/io/openvidu/server/kurento/core/KurentoSessionManager.java index 918e85c7..87cf7182 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/kurento/core/KurentoSessionManager.java +++ b/openvidu-server/src/main/java/io/openvidu/server/kurento/core/KurentoSessionManager.java @@ -31,6 +31,8 @@ import java.util.concurrent.TimeUnit; import java.util.regex.Matcher; import java.util.regex.Pattern; +import javax.annotation.PreDestroy; + import org.apache.commons.lang3.RandomStringUtils; import org.kurento.client.GenericMediaElement; import org.kurento.client.IceCandidate; @@ -1444,4 +1446,11 @@ public class KurentoSessionManager extends SessionManager { return lessLoadedKms; } + @PreDestroy + @Override + public void close() { + super.close(); + this.kmsManager.closeAllKurentoClients(); + } + } diff --git a/openvidu-server/src/main/java/io/openvidu/server/kurento/kms/KmsManager.java b/openvidu-server/src/main/java/io/openvidu/server/kurento/kms/KmsManager.java index dae5cb19..dc3f0e21 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/kurento/kms/KmsManager.java +++ b/openvidu-server/src/main/java/io/openvidu/server/kurento/kms/KmsManager.java @@ -31,7 +31,6 @@ import java.util.concurrent.locks.ReentrantLock; import java.util.stream.Collectors; import javax.annotation.PostConstruct; -import javax.annotation.PreDestroy; import org.apache.commons.lang3.RandomStringUtils; import org.kurento.jsonrpc.client.JsonRpcWSConnectionListener; @@ -343,8 +342,7 @@ public abstract class KmsManager { @PostConstruct protected abstract void postConstructInitKurentoClients(); - @PreDestroy - public void close() { + public void closeAllKurentoClients() { log.info("Closing all KurentoClients"); this.kmss.values().forEach(kms -> { if (kms.getKurentoClientReconnectTimer() != null) {