mirror of https://github.com/OpenVidu/openvidu.git
openvidu-server: Update to SpringBoot 2
parent
883d686542
commit
e7bf2073ae
|
@ -71,7 +71,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
|
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
|
||||||
auth.inMemoryAuthentication().withUser("OPENVIDUAPP").password(openviduConf.getOpenViduSecret()).roles("ADMIN");
|
auth.inMemoryAuthentication().withUser("OPENVIDUAPP").password("{noop}" + openviduConf.getOpenViduSecret()).roles("ADMIN");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -17,20 +17,20 @@
|
||||||
|
|
||||||
package io.openvidu.server.config;
|
package io.openvidu.server.config;
|
||||||
|
|
||||||
import org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer;
|
import org.springframework.boot.web.server.MimeMappings;
|
||||||
import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer;
|
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
|
||||||
import org.springframework.boot.context.embedded.MimeMappings;
|
import org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
public class ServletCustomizer implements EmbeddedServletContainerCustomizer {
|
public class ServletCustomizer implements WebServerFactoryCustomizer<ConfigurableServletWebServerFactory> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void customize(ConfigurableEmbeddedServletContainer container) {
|
public void customize(ConfigurableServletWebServerFactory factory) {
|
||||||
MimeMappings mappings = new MimeMappings(MimeMappings.DEFAULT);
|
MimeMappings mappings = new MimeMappings(MimeMappings.DEFAULT);
|
||||||
mappings.add("mp4", "video/mp4");
|
mappings.add("mp4", "video/mp4");
|
||||||
mappings.add("webm", "video/webm");
|
mappings.add("webm", "video/webm");
|
||||||
container.setMimeMappings(mappings);
|
factory.setMimeMappings(mappings);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -86,8 +86,6 @@ public class ComposedRecordingService extends RecordingService {
|
||||||
recording = this.startRecordingAudioOnly(session, recording, properties);
|
recording = this.startRecordingAudioOnly(session, recording, properties);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.updateRecordingManagerCollections(session, recording);
|
|
||||||
|
|
||||||
return recording;
|
return recording;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -204,7 +202,6 @@ public class ComposedRecordingService extends RecordingService {
|
||||||
}
|
}
|
||||||
|
|
||||||
this.generateRecordingMetadataFile(recording);
|
this.generateRecordingMetadataFile(recording);
|
||||||
this.sendRecordingStartedNotification(session, recording);
|
|
||||||
|
|
||||||
return recording;
|
return recording;
|
||||||
}
|
}
|
||||||
|
|
|
@ -55,6 +55,7 @@ import com.google.gson.JsonParser;
|
||||||
import io.openvidu.client.OpenViduException;
|
import io.openvidu.client.OpenViduException;
|
||||||
import io.openvidu.client.OpenViduException.Code;
|
import io.openvidu.client.OpenViduException.Code;
|
||||||
import io.openvidu.client.internal.ProtocolElements;
|
import io.openvidu.client.internal.ProtocolElements;
|
||||||
|
import io.openvidu.java.client.Recording.OutputMode;
|
||||||
import io.openvidu.java.client.RecordingProperties;
|
import io.openvidu.java.client.RecordingProperties;
|
||||||
import io.openvidu.server.config.OpenviduConfig;
|
import io.openvidu.server.config.OpenviduConfig;
|
||||||
import io.openvidu.server.core.EndReason;
|
import io.openvidu.server.core.EndReason;
|
||||||
|
@ -73,7 +74,6 @@ public class RecordingManager {
|
||||||
|
|
||||||
private static final Logger log = LoggerFactory.getLogger(RecordingManager.class);
|
private static final Logger log = LoggerFactory.getLogger(RecordingManager.class);
|
||||||
|
|
||||||
RecordingService recordingService;
|
|
||||||
private ComposedRecordingService composedRecordingService;
|
private ComposedRecordingService composedRecordingService;
|
||||||
private SingleStreamRecordingService singleStreamRecordingService;
|
private SingleStreamRecordingService singleStreamRecordingService;
|
||||||
private DockerManager dockerManager;
|
private DockerManager dockerManager;
|
||||||
|
@ -106,14 +106,6 @@ public class RecordingManager {
|
||||||
.asList(new EndReason[] { EndReason.disconnect, EndReason.forceDisconnectByUser,
|
.asList(new EndReason[] { EndReason.disconnect, EndReason.forceDisconnectByUser,
|
||||||
EndReason.forceDisconnectByServer, EndReason.networkDisconnect });
|
EndReason.forceDisconnectByServer, EndReason.networkDisconnect });
|
||||||
|
|
||||||
public SessionEventsHandler getSessionEventsHandler() {
|
|
||||||
return this.sessionHandler;
|
|
||||||
}
|
|
||||||
|
|
||||||
public SessionManager getSessionManager() {
|
|
||||||
return this.sessionManager;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void initializeRecordingManager() throws OpenViduException {
|
public void initializeRecordingManager() throws OpenViduException {
|
||||||
|
|
||||||
RecordingManager.IMAGE_TAG = openviduConfig.getOpenViduRecordingVersion();
|
RecordingManager.IMAGE_TAG = openviduConfig.getOpenViduRecordingVersion();
|
||||||
|
@ -186,6 +178,12 @@ public class RecordingManager {
|
||||||
} catch (OpenViduException e) {
|
} catch (OpenViduException e) {
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
|
this.updateRecordingManagerCollections(session, recording);
|
||||||
|
if (!OutputMode.COMPOSED.equals(properties.outputMode()) && properties.hasVideo()) {
|
||||||
|
// Directly send recording started notification for all cases except for
|
||||||
|
// COMPOSED recordings with video (will be sent on first RECORDER subscriber)
|
||||||
|
this.sessionHandler.sendRecordingStartedNotification(session, recording);
|
||||||
|
}
|
||||||
if (session.getActivePublishers() == 0) {
|
if (session.getActivePublishers() == 0) {
|
||||||
// Init automatic recording stop if there are now publishers when starting
|
// Init automatic recording stop if there are now publishers when starting
|
||||||
// recording
|
// recording
|
||||||
|
@ -638,4 +636,15 @@ public class RecordingManager {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Changes recording from starting to started, updates global recording
|
||||||
|
* collections and sends RPC response to clients
|
||||||
|
*/
|
||||||
|
private void updateRecordingManagerCollections(Session session, Recording recording) {
|
||||||
|
this.sessionHandler.setRecordingStarted(session.getSessionId(), recording);
|
||||||
|
this.sessionsRecordings.put(session.getSessionId(), recording);
|
||||||
|
this.startingRecordings.remove(recording.getId());
|
||||||
|
this.startedRecordings.put(recording.getId(), recording);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -94,24 +94,6 @@ public abstract class RecordingService {
|
||||||
return recording;
|
return recording;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Changes recording from starting to started, updates global recording
|
|
||||||
* collections and sends RPC response to clients
|
|
||||||
*/
|
|
||||||
protected void updateRecordingManagerCollections(Session session, Recording recording) {
|
|
||||||
this.recordingManager.sessionHandler.setRecordingStarted(session.getSessionId(), recording);
|
|
||||||
this.recordingManager.sessionsRecordings.put(session.getSessionId(), recording);
|
|
||||||
this.recordingManager.startingRecordings.remove(recording.getId());
|
|
||||||
this.recordingManager.startedRecordings.put(recording.getId(), recording);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sends RPC response for recording started event
|
|
||||||
*/
|
|
||||||
protected void sendRecordingStartedNotification(Session session, Recording recording) {
|
|
||||||
this.recordingManager.getSessionEventsHandler().sendRecordingStartedNotification(session, recording);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a new available recording identifier (adding a number tag at the end
|
* Returns a new available recording identifier (adding a number tag at the end
|
||||||
* of the sessionId if it already exists) and rebuilds RecordinProperties object
|
* of the sessionId if it already exists) and rebuilds RecordinProperties object
|
||||||
|
|
|
@ -121,8 +121,6 @@ public class SingleStreamRecordingService extends RecordingService {
|
||||||
}
|
}
|
||||||
|
|
||||||
this.generateRecordingMetadataFile(recording);
|
this.generateRecordingMetadataFile(recording);
|
||||||
this.updateRecordingManagerCollections(session, recording);
|
|
||||||
this.sendRecordingStartedNotification(session, recording);
|
|
||||||
|
|
||||||
return recording;
|
return recording;
|
||||||
}
|
}
|
||||||
|
|
2
pom.xml
2
pom.xml
|
@ -43,7 +43,7 @@
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<version.kurento>6.10.0</version.kurento>
|
<version.kurento>6.10.0</version.kurento>
|
||||||
<version.spring-boot>1.4.2.RELEASE</version.spring-boot>
|
<version.spring-boot>2.1.5.RELEASE</version.spring-boot>
|
||||||
<version.junit>4.12</version.junit>
|
<version.junit>4.12</version.junit>
|
||||||
<version.mockito>1.10.19</version.mockito>
|
<version.mockito>1.10.19</version.mockito>
|
||||||
<version.powermock>1.7.4</version.powermock>
|
<version.powermock>1.7.4</version.powermock>
|
||||||
|
|
Loading…
Reference in New Issue