You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2015/10/16 05:45:08 UTC
svn commit: r1708907 - in /openmeetings:
branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/
trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/
Author: solomax
Date: Fri Oct 16 03:45:08 2015
New Revision: 1708907
URL: http://svn.apache.org/viewvc?rev=1708907&view=rev
Log:
[OPENMEETINGS-926] errors in screen sharing applet are fixed
Modified:
openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/CoreScreenShare.java
openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/RTMPSScreenShare.java
openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/RTMPScreenShare.java
openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/RTMPTScreenShare.java
openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/CoreScreenShare.java
openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPSScreenShare.java
openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPScreenShare.java
openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPTScreenShare.java
Modified: openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/CoreScreenShare.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/CoreScreenShare.java?rev=1708907&r1=1708906&r2=1708907&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/CoreScreenShare.java (original)
+++ openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/CoreScreenShare.java Fri Oct 16 03:45:08 2015
@@ -55,6 +55,7 @@ import org.red5.server.net.rtmp.event.No
import org.red5.server.net.rtmp.message.Header;
import org.red5.server.net.rtmp.status.StatusCodes;
import org.slf4j.Logger;
+import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
public class CoreScreenShare implements IPendingServiceCallback, INetStreamEventHandler {
private static final Logger log = getLogger(CoreScreenShare.class);
@@ -765,4 +766,14 @@ public class CoreScreenShare implements
public void setRemoteEnabled(boolean remoteEnabled) {
this.remoteEnabled = remoteEnabled;
}
+
+ public void setDeadlockGuard(RTMPConnection conn) {
+ ThreadPoolTaskScheduler deadlockGuard = new ThreadPoolTaskScheduler();
+ deadlockGuard.setPoolSize(16);
+ deadlockGuard.setDaemon(false);
+ deadlockGuard.setWaitForTasksToCompleteOnShutdown(true);
+ deadlockGuard.setThreadNamePrefix("DeadlockGuardScheduler-");
+ deadlockGuard.afterPropertiesSet();
+ conn.setDeadlockGuardScheduler(deadlockGuard);
+ }
}
Modified: openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/RTMPSScreenShare.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/RTMPSScreenShare.java?rev=1708907&r1=1708906&r2=1708907&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/RTMPSScreenShare.java (original)
+++ openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/RTMPSScreenShare.java Fri Oct 16 03:45:08 2015
@@ -30,15 +30,14 @@ import org.slf4j.LoggerFactory;
public class RTMPSScreenShare extends RTMPSClient implements IScreenShare {
private static final Logger logger = LoggerFactory.getLogger(RTMPSScreenShare.class);
- private CoreScreenShare core = null;
+ private final CoreScreenShare core;
public RTMPSScreenShare(CoreScreenShare core) {
this.core = core;
};
@Override
- public void connect(String server, int port, String application,
- IPendingServiceCallback connectCallback) {
+ public void connect(String server, int port, String application, IPendingServiceCallback connectCallback) {
try { //FIXME need to be removed
super.connect(server, port, application, connectCallback);
} catch (NullPointerException npe) {
@@ -55,7 +54,7 @@ public class RTMPSScreenShare extends RT
public void connectionOpened(RTMPConnection conn) {
logger.debug("connection opened");
super.connectionOpened(conn);
- this.conn = conn;
+ core.setDeadlockGuard(conn);
}
@Override
Modified: openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/RTMPScreenShare.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/RTMPScreenShare.java?rev=1708907&r1=1708906&r2=1708907&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/RTMPScreenShare.java (original)
+++ openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/RTMPScreenShare.java Fri Oct 16 03:45:08 2015
@@ -29,7 +29,7 @@ import org.slf4j.LoggerFactory;
public class RTMPScreenShare extends RTMPClient implements IScreenShare {
private static final Logger logger = LoggerFactory.getLogger(RTMPScreenShare.class);
- private CoreScreenShare core = null;
+ private final CoreScreenShare core;
public RTMPScreenShare(CoreScreenShare core) {
this.core = core;
@@ -44,7 +44,7 @@ public class RTMPScreenShare extends RTM
public void connectionOpened(RTMPConnection conn) {
logger.debug("connection opened");
super.connectionOpened(conn);
- this.conn = conn;
+ core.setDeadlockGuard(conn);
}
@Override
Modified: openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/RTMPTScreenShare.java
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/RTMPTScreenShare.java?rev=1708907&r1=1708906&r2=1708907&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/RTMPTScreenShare.java (original)
+++ openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/RTMPTScreenShare.java Fri Oct 16 03:45:08 2015
@@ -29,7 +29,7 @@ import org.slf4j.LoggerFactory;
public class RTMPTScreenShare extends RTMPTClient implements IScreenShare {
private static final Logger logger = LoggerFactory.getLogger(RTMPTScreenShare.class);
- private CoreScreenShare core = null;
+ private final CoreScreenShare core;
public RTMPTScreenShare(CoreScreenShare core) {
this.core = core;
@@ -44,7 +44,7 @@ public class RTMPTScreenShare extends RT
public void connectionOpened(RTMPConnection conn) {
logger.debug("connection opened");
super.connectionOpened(conn);
- this.conn = conn;
+ core.setDeadlockGuard(conn);
}
@Override
Modified: openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/CoreScreenShare.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/CoreScreenShare.java?rev=1708907&r1=1708906&r2=1708907&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/CoreScreenShare.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/CoreScreenShare.java Fri Oct 16 03:45:08 2015
@@ -55,6 +55,7 @@ import org.red5.server.net.rtmp.event.No
import org.red5.server.net.rtmp.message.Header;
import org.red5.server.net.rtmp.status.StatusCodes;
import org.slf4j.Logger;
+import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
public class CoreScreenShare implements IPendingServiceCallback, INetStreamEventHandler {
private static final Logger log = getLogger(CoreScreenShare.class);
@@ -765,4 +766,14 @@ public class CoreScreenShare implements
public void setRemoteEnabled(boolean remoteEnabled) {
this.remoteEnabled = remoteEnabled;
}
+
+ public void setDeadlockGuard(RTMPConnection conn) {
+ ThreadPoolTaskScheduler deadlockGuard = new ThreadPoolTaskScheduler();
+ deadlockGuard.setPoolSize(16);
+ deadlockGuard.setDaemon(false);
+ deadlockGuard.setWaitForTasksToCompleteOnShutdown(true);
+ deadlockGuard.setThreadNamePrefix("DeadlockGuardScheduler-");
+ deadlockGuard.afterPropertiesSet();
+ conn.setDeadlockGuardScheduler(deadlockGuard);
+ }
}
Modified: openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPSScreenShare.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPSScreenShare.java?rev=1708907&r1=1708906&r2=1708907&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPSScreenShare.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPSScreenShare.java Fri Oct 16 03:45:08 2015
@@ -30,15 +30,14 @@ import org.slf4j.LoggerFactory;
public class RTMPSScreenShare extends RTMPSClient implements IScreenShare {
private static final Logger logger = LoggerFactory.getLogger(RTMPSScreenShare.class);
- private CoreScreenShare core = null;
+ private final CoreScreenShare core;
public RTMPSScreenShare(CoreScreenShare core) {
this.core = core;
};
@Override
- public void connect(String server, int port, String application,
- IPendingServiceCallback connectCallback) {
+ public void connect(String server, int port, String application, IPendingServiceCallback connectCallback) {
try { //FIXME need to be removed
super.connect(server, port, application, connectCallback);
} catch (NullPointerException npe) {
@@ -55,7 +54,7 @@ public class RTMPSScreenShare extends RT
public void connectionOpened(RTMPConnection conn) {
logger.debug("connection opened");
super.connectionOpened(conn);
- this.conn = conn;
+ core.setDeadlockGuard(conn);
}
@Override
Modified: openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPScreenShare.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPScreenShare.java?rev=1708907&r1=1708906&r2=1708907&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPScreenShare.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPScreenShare.java Fri Oct 16 03:45:08 2015
@@ -29,7 +29,7 @@ import org.slf4j.LoggerFactory;
public class RTMPScreenShare extends RTMPClient implements IScreenShare {
private static final Logger logger = LoggerFactory.getLogger(RTMPScreenShare.class);
- private CoreScreenShare core = null;
+ private final CoreScreenShare core;
public RTMPScreenShare(CoreScreenShare core) {
this.core = core;
@@ -44,7 +44,7 @@ public class RTMPScreenShare extends RTM
public void connectionOpened(RTMPConnection conn) {
logger.debug("connection opened");
super.connectionOpened(conn);
- this.conn = conn;
+ core.setDeadlockGuard(conn);
}
@Override
Modified: openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPTScreenShare.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPTScreenShare.java?rev=1708907&r1=1708906&r2=1708907&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPTScreenShare.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPTScreenShare.java Fri Oct 16 03:45:08 2015
@@ -29,7 +29,7 @@ import org.slf4j.LoggerFactory;
public class RTMPTScreenShare extends RTMPTClient implements IScreenShare {
private static final Logger logger = LoggerFactory.getLogger(RTMPTScreenShare.class);
- private CoreScreenShare core = null;
+ private final CoreScreenShare core;
public RTMPTScreenShare(CoreScreenShare core) {
this.core = core;
@@ -44,7 +44,7 @@ public class RTMPTScreenShare extends RT
public void connectionOpened(RTMPConnection conn) {
logger.debug("connection opened");
super.connectionOpened(conn);
- this.conn = conn;
+ core.setDeadlockGuard(conn);
}
@Override