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


Reply via email to