diff --git a/openvidu-server/pom.xml b/openvidu-server/pom.xml
index e0bf108f..ba901064 100644
--- a/openvidu-server/pom.xml
+++ b/openvidu-server/pom.xml
@@ -5,7 +5,7 @@
io.openvidu
openvidu-parent
- 1.9.0-beta-1
+ 2.0.0
openvidu-server
diff --git a/openvidu-server/src/main/java/io/openvidu/server/OpenViduServer.java b/openvidu-server/src/main/java/io/openvidu/server/OpenViduServer.java
index 7af2e42e..36b1bfc1 100644
--- a/openvidu-server/src/main/java/io/openvidu/server/OpenViduServer.java
+++ b/openvidu-server/src/main/java/io/openvidu/server/OpenViduServer.java
@@ -105,7 +105,7 @@ public class OpenViduServer implements JsonRpcConfigurer {
String firstKmsWsUri = kmsWsUris.get(0);
log.info("OpenVidu Server using one KMS: {}", kmsWsUris);
- return new FixedOneKmsManager(firstKmsWsUri);
+ return new FixedOneKmsManager(firstKmsWsUri, new DummyLoadManager());
}
@Bean
@@ -150,12 +150,6 @@ public class OpenViduServer implements JsonRpcConfigurer {
return new TokenGeneratorDefault();
}
- @Bean
- @ConditionalOnMissingBean
- public LoadManager loadManager() {
- return new DummyLoadManager();
- }
-
@Bean
@ConditionalOnMissingBean
public OpenviduConfig openviduConfig() {
diff --git a/openvidu-server/src/main/java/io/openvidu/server/core/TokenGenerator.java b/openvidu-server/src/main/java/io/openvidu/server/core/TokenGenerator.java
index 5e763492..303f597e 100644
--- a/openvidu-server/src/main/java/io/openvidu/server/core/TokenGenerator.java
+++ b/openvidu-server/src/main/java/io/openvidu/server/core/TokenGenerator.java
@@ -17,9 +17,12 @@
package io.openvidu.server.core;
+import org.springframework.stereotype.Service;
+
import io.openvidu.java.client.OpenViduRole;
import io.openvidu.server.kurento.core.KurentoTokenOptions;
+@Service
public interface TokenGenerator {
public Token generateToken(String sessionId, OpenViduRole role, String serverMetadata,
diff --git a/openvidu-server/src/main/java/io/openvidu/server/kurento/core/KurentoSession.java b/openvidu-server/src/main/java/io/openvidu/server/kurento/core/KurentoSession.java
index 8871619b..36da6c4b 100644
--- a/openvidu-server/src/main/java/io/openvidu/server/kurento/core/KurentoSession.java
+++ b/openvidu-server/src/main/java/io/openvidu/server/kurento/core/KurentoSession.java
@@ -287,11 +287,6 @@ public class KurentoSession extends Session {
if (recordingManager.sessionIsBeingRecorded(this.sessionId)) {
Recording stoppedRecording = this.recordingManager.forceStopRecording(this,
EndReason.mediaServerDisconnect);
- if (OutputMode.COMPOSED.equals(stoppedRecording.getOutputMode()) && stoppedRecording.hasVideo()) {
- recordingManager.getSessionManager().evictParticipant(
- this.getParticipantByPublicId(ProtocolElements.RECORDER_PARTICIPANT_PUBLICID), null, null,
- null);
- }
}
// Close all MediaEndpoints of participants
diff --git a/openvidu-server/src/main/java/io/openvidu/server/kurento/kms/DummyLoadManager.java b/openvidu-server/src/main/java/io/openvidu/server/kurento/kms/DummyLoadManager.java
index fcb8e3ea..a56bb33a 100644
--- a/openvidu-server/src/main/java/io/openvidu/server/kurento/kms/DummyLoadManager.java
+++ b/openvidu-server/src/main/java/io/openvidu/server/kurento/kms/DummyLoadManager.java
@@ -17,6 +17,9 @@
package io.openvidu.server.kurento.kms;
+import org.springframework.stereotype.Service;
+
+@Service
public class DummyLoadManager implements LoadManager {
@Override
diff --git a/openvidu-server/src/main/java/io/openvidu/server/kurento/kms/FixedOneKmsManager.java b/openvidu-server/src/main/java/io/openvidu/server/kurento/kms/FixedOneKmsManager.java
index fd708aee..b2bbc690 100644
--- a/openvidu-server/src/main/java/io/openvidu/server/kurento/kms/FixedOneKmsManager.java
+++ b/openvidu-server/src/main/java/io/openvidu/server/kurento/kms/FixedOneKmsManager.java
@@ -29,7 +29,9 @@ public class FixedOneKmsManager extends KmsManager {
private static final Logger log = LoggerFactory.getLogger(FixedOneKmsManager.class);
- public FixedOneKmsManager(String kmsWsUri) {
+ public FixedOneKmsManager(String kmsWsUri, LoadManager loadManager) {
+ super(loadManager);
+
KurentoClient kClient = KurentoClient.create(kmsWsUri, new KurentoConnectionListener() {
@Override
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 b7407074..3692afda 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
@@ -61,7 +61,6 @@ public abstract class KmsManager {
@Autowired
protected SessionManager sessionManager;
- @Autowired
protected LoadManager loadManager;
private final Logger log = LoggerFactory.getLogger(KmsManager.class);
@@ -71,6 +70,10 @@ public abstract class KmsManager {
private Iterator usageIterator = null;
+ public KmsManager(LoadManager loadManager) {
+ this.loadManager = loadManager;
+ }
+
public synchronized void addKms(Kms kms) {
this.kmss.put(kms.getUri(), kms);
}
diff --git a/openvidu-server/src/main/java/io/openvidu/server/kurento/kms/LoadManager.java b/openvidu-server/src/main/java/io/openvidu/server/kurento/kms/LoadManager.java
index a7754ba3..faa01143 100644
--- a/openvidu-server/src/main/java/io/openvidu/server/kurento/kms/LoadManager.java
+++ b/openvidu-server/src/main/java/io/openvidu/server/kurento/kms/LoadManager.java
@@ -17,13 +17,10 @@
package io.openvidu.server.kurento.kms;
-import org.springframework.stereotype.Service;
-
-@Service
public interface LoadManager {
- double calculateLoad(Kms kms);
+ double calculateLoad(Kms kms);
- boolean allowMoreElements(Kms kms);
+ boolean allowMoreElements(Kms kms);
}
\ No newline at end of file
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 d3b48d96..887ce676 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
@@ -219,6 +219,11 @@ public class RecordingManager {
switch (recording.getOutputMode()) {
case COMPOSED:
recording = this.composedRecordingService.stopRecording(session, recording, reason);
+ if (recording.hasVideo()) {
+ this.sessionManager.evictParticipant(
+ session.getParticipantByPublicId(ProtocolElements.RECORDER_PARTICIPANT_PUBLICID), null, null,
+ null);
+ }
break;
case INDIVIDUAL:
recording = this.singleStreamRecordingService.stopRecording(session, recording, reason);
diff --git a/pom.xml b/pom.xml
index 65823d34..9ddf42df 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
io.openvidu
openvidu-parent
- 1.9.0-beta-1
+ 2.0.0
pom
OpenVidu