Changeset View
Changeset View
Standalone View
Standalone View
openvidu-server/src/main/java/io/openvidu/server/OpenViduServer.java
/* | /* | ||||
* (C) Copyright 2017-2020 OpenVidu (https://openvidu.io) | * (C) Copyright 2017-2020 OpenVidu (https://openvidu.io) | ||||
* (C) Copyright 2021 Christian Mollekopf (mollekopf@kolabsystems.com) | |||||
* | * | ||||
* Licensed under the Apache License, Version 2.0 (the "License"); | * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
* you may not use this file except in compliance with the License. | * you may not use this file except in compliance with the License. | ||||
* You may obtain a copy of the License at | * You may obtain a copy of the License at | ||||
* | * | ||||
* http://www.apache.org/licenses/LICENSE-2.0 | * http://www.apache.org/licenses/LICENSE-2.0 | ||||
* | * | ||||
* Unless required by applicable law or agreed to in writing, software | * Unless required by applicable law or agreed to in writing, software | ||||
▲ Show 20 Lines • Show All 42 Lines • ▼ Show 20 Lines | |||||
import io.openvidu.server.core.SessionManager; | import io.openvidu.server.core.SessionManager; | ||||
import io.openvidu.server.core.TokenGenerator; | import io.openvidu.server.core.TokenGenerator; | ||||
import io.openvidu.server.coturn.CoturnCredentialsService; | import io.openvidu.server.coturn.CoturnCredentialsService; | ||||
import io.openvidu.server.coturn.CoturnCredentialsServiceFactory; | import io.openvidu.server.coturn.CoturnCredentialsServiceFactory; | ||||
import io.openvidu.server.kurento.core.KurentoParticipantEndpointConfig; | import io.openvidu.server.kurento.core.KurentoParticipantEndpointConfig; | ||||
import io.openvidu.server.kurento.core.KurentoSessionEventsHandler; | import io.openvidu.server.kurento.core.KurentoSessionEventsHandler; | ||||
import io.openvidu.server.kurento.core.KurentoSessionManager; | import io.openvidu.server.kurento.core.KurentoSessionManager; | ||||
import io.openvidu.server.kurento.kms.DummyLoadManager; | import io.openvidu.server.kurento.kms.DummyLoadManager; | ||||
import io.openvidu.server.kurento.kms.MaxWebRtcLoadManager; | |||||
import io.openvidu.server.kurento.kms.FixedOneKmsManager; | import io.openvidu.server.kurento.kms.FixedOneKmsManager; | ||||
import io.openvidu.server.kurento.kms.FixedNKmsManager; | |||||
import io.openvidu.server.kurento.kms.KmsManager; | import io.openvidu.server.kurento.kms.KmsManager; | ||||
import io.openvidu.server.kurento.kms.LoadManager; | import io.openvidu.server.kurento.kms.LoadManager; | ||||
import io.openvidu.server.recording.DummyRecordingDownloader; | import io.openvidu.server.recording.DummyRecordingDownloader; | ||||
import io.openvidu.server.recording.DummyRecordingUploader; | import io.openvidu.server.recording.DummyRecordingUploader; | ||||
import io.openvidu.server.recording.RecordingDownloader; | import io.openvidu.server.recording.RecordingDownloader; | ||||
import io.openvidu.server.recording.RecordingUploader; | import io.openvidu.server.recording.RecordingUploader; | ||||
import io.openvidu.server.recording.service.RecordingManager; | import io.openvidu.server.recording.service.RecordingManager; | ||||
import io.openvidu.server.recording.service.RecordingManagerUtils; | import io.openvidu.server.recording.service.RecordingManagerUtils; | ||||
Show All 30 Lines | public class OpenViduServer implements JsonRpcConfigurer { | ||||
@Bean | @Bean | ||||
@ConditionalOnMissingBean | @ConditionalOnMissingBean | ||||
@DependsOn("openviduConfig") | @DependsOn("openviduConfig") | ||||
public KmsManager kmsManager(OpenviduConfig openviduConfig) { | public KmsManager kmsManager(OpenviduConfig openviduConfig) { | ||||
if (openviduConfig.getKmsUris().isEmpty()) { | if (openviduConfig.getKmsUris().isEmpty()) { | ||||
throw new IllegalArgumentException("'KMS_URIS' should contain at least one KMS url"); | throw new IllegalArgumentException("'KMS_URIS' should contain at least one KMS url"); | ||||
} | } | ||||
String firstKmsWsUri = openviduConfig.getKmsUris().get(0); | |||||
List<String> kmsUris = openviduConfig.getKmsUris(); | |||||
if (kmsUris.size() == 1) { | |||||
String firstKmsWsUri = kmsUris.get(0); | |||||
log.info("OpenVidu Server using one KMS: {}", firstKmsWsUri); | log.info("OpenVidu Server using one KMS: {}", firstKmsWsUri); | ||||
return new FixedOneKmsManager(); | return new FixedOneKmsManager(); | ||||
} | } | ||||
log.info("OpenVidu Server using KMS: {}", kmsUris); | |||||
return new FixedNKmsManager(); | |||||
} | |||||
@Bean | @Bean | ||||
@ConditionalOnMissingBean | @ConditionalOnMissingBean | ||||
@DependsOn("openviduConfig") | @DependsOn("openviduConfig") | ||||
public CallDetailRecord cdr(OpenviduConfig openviduConfig) { | public CallDetailRecord cdr(OpenviduConfig openviduConfig) { | ||||
List<CDRLogger> loggers = new ArrayList<>(); | List<CDRLogger> loggers = new ArrayList<>(); | ||||
if (openviduConfig.isCdrEnabled()) { | if (openviduConfig.isCdrEnabled()) { | ||||
log.info("OpenVidu CDR service is enabled"); | log.info("OpenVidu CDR service is enabled"); | ||||
loggers.add(new CDRLoggerFile()); | loggers.add(new CDRLoggerFile()); | ||||
▲ Show 20 Lines • Show All 49 Lines • ▼ Show 20 Lines | public class OpenViduServer implements JsonRpcConfigurer { | ||||
@DependsOn("openviduConfig") | @DependsOn("openviduConfig") | ||||
public RecordingManager recordingManager() { | public RecordingManager recordingManager() { | ||||
return new RecordingManager(); | return new RecordingManager(); | ||||
} | } | ||||
@Bean | @Bean | ||||
@ConditionalOnMissingBean | @ConditionalOnMissingBean | ||||
public LoadManager loadManager() { | public LoadManager loadManager() { | ||||
return new DummyLoadManager(); | return new MaxWebRtcLoadManager(10000); | ||||
} | } | ||||
@Bean | @Bean | ||||
@ConditionalOnMissingBean | @ConditionalOnMissingBean | ||||
public RpcNotificationService notificationService() { | public RpcNotificationService notificationService() { | ||||
return new RpcNotificationService(); | return new RpcNotificationService(); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 176 Lines • Show Last 20 Lines |