openvidu-server: Update to SpringBoot 2

pull/375/head
pabloFuente 2019-06-11 13:56:16 +02:00
parent 883d686542
commit e7bf2073ae
7 changed files with 26 additions and 40 deletions

View File

@ -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");
} }
} }

View File

@ -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);
} }
} }

View File

@ -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;
} }

View File

@ -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);
}
} }

View File

@ -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

View File

@ -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;
} }

View File

@ -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>