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 2016/05/17 17:47:05 UTC

svn commit: r1744296 - in /openmeetings/application: branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/SipDao.java trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/SipDao.java

Author: solomax
Date: Tue May 17 17:47:05 2016
New Revision: 1744296

URL: http://svn.apache.org/viewvc?rev=1744296&view=rev
Log:
[OPENMEETINGS-1384] join room should work better

Modified:
    openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/SipDao.java
    openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/SipDao.java

Modified: openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/SipDao.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/SipDao.java?rev=1744296&r1=1744295&r2=1744296&view=diff
==============================================================================
--- openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/SipDao.java (original)
+++ openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/SipDao.java Tue May 17 17:47:05 2016
@@ -44,8 +44,6 @@ public class SipDao {
 	private String sipUsername;
 	private String sipPassword;
 	private ManagerConnectionFactory factory;
-	private ManagerConnection connection;
-	private ManagerConnection eventConnection;
 
 	@SuppressWarnings("unused")
 	private SipDao() {
@@ -58,61 +56,57 @@ public class SipDao {
 		this.sipUsername = sipUsername;
 		this.sipPassword = sipPassword;
 		factory = new ManagerConnectionFactory(this.sipHostname, this.sipPort, this.sipUsername, this.sipPassword);
-		connection = factory.createManagerConnection(); // TODO secure
-		eventConnection = factory.createManagerConnection(); // TODO secure
 	}
 
 	private ManagerResponse exec(ManagerAction action) {
-		if (connection == null) {
+		if (factory == null) {
 			log.warn("There is no Asterisk configured");
 			return null;
 		}
-		synchronized (connection) {
+		ManagerConnection con = factory.createManagerConnection(); // TODO secure
+		try {
+			con.login();
+			ManagerResponse r = con.sendAction(action);
+			if (log.isDebugEnabled() && r != null) {
+				log.debug(r.toString());
+			}
+			return (r instanceof ManagerError) ? null : r;
+		} catch (Exception e) {
+			if (log.isDebugEnabled()) {
+				log.error("Error while executing ManagerAction: " + action, e);
+			}
+		} finally {
 			try {
-				connection.login();
-				ManagerResponse r = connection.sendAction(action);
-				if (log.isDebugEnabled() && r != null) {
-					log.debug(r.toString());
-				}
-				return (r instanceof ManagerError) ? null : r;
+				con.logoff();
 			} catch (Exception e) {
-				if (log.isDebugEnabled()) {
-					log.error("Error while executing ManagerAction: " + action, e);
-				}
-			} finally {
-				try {
-					connection.logoff();
-				} catch (Exception e) {
-					// no-op
-				}
+				// no-op
 			}
 		}
 		return null;
 	}
 
 	private ResponseEvents execEvent(EventGeneratingAction action) {
-		if (eventConnection == null) {
+		if (factory == null) {
 			log.warn("There is no Asterisk configured");
 			return null;
 		}
-		synchronized (eventConnection) {
+		ManagerConnection con = factory.createManagerConnection(); // TODO secure
+		try {
+			con.login("on");
+			ResponseEvents r = con.sendEventGeneratingAction(action);
+			if (log.isDebugEnabled() && r != null) {
+				log.debug(r.getResponse().toString());
+			}
+			return (r == null || r.getResponse() instanceof ManagerError) ? null : r;
+		} catch (Exception e) {
+			if (log.isDebugEnabled()) {
+				log.error("Error while executing EventGeneratingAction: " + action, e);
+			}
+		} finally {
 			try {
-				eventConnection.login("on");
-				ResponseEvents r = eventConnection.sendEventGeneratingAction(action);
-				if (log.isDebugEnabled() && r != null) {
-					log.debug(r.getResponse().toString());
-				}
-				return (r == null || r.getResponse() instanceof ManagerError) ? null : r;
+				con.logoff();
 			} catch (Exception e) {
-				if (log.isDebugEnabled()) {
-					log.error("Error while executing EventGeneratingAction: " + action, e);
-				}
-			} finally {
-				try {
-					eventConnection.logoff();
-				} catch (Exception e) {
-					// no-op
-				}
+				// no-op
 			}
 		}
 		return null;

Modified: openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/SipDao.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/SipDao.java?rev=1744296&r1=1744295&r2=1744296&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/SipDao.java (original)
+++ openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/SipDao.java Tue May 17 17:47:05 2016
@@ -44,8 +44,6 @@ public class SipDao {
 	private String sipUsername;
 	private String sipPassword;
 	private ManagerConnectionFactory factory;
-	private ManagerConnection connection;
-	private ManagerConnection eventConnection;
 
 	@SuppressWarnings("unused")
 	private SipDao() {
@@ -58,61 +56,57 @@ public class SipDao {
 		this.sipUsername = sipUsername;
 		this.sipPassword = sipPassword;
 		factory = new ManagerConnectionFactory(this.sipHostname, this.sipPort, this.sipUsername, this.sipPassword);
-		connection = factory.createManagerConnection(); // TODO secure
-		eventConnection = factory.createManagerConnection(); // TODO secure
 	}
 
 	private ManagerResponse exec(ManagerAction action) {
-		if (connection == null) {
+		if (factory == null) {
 			log.warn("There is no Asterisk configured");
 			return null;
 		}
-		synchronized (connection) {
+		ManagerConnection con = factory.createManagerConnection(); // TODO secure
+		try {
+			con.login();
+			ManagerResponse r = con.sendAction(action);
+			if (log.isDebugEnabled() && r != null) {
+				log.debug(r.toString());
+			}
+			return (r instanceof ManagerError) ? null : r;
+		} catch (Exception e) {
+			if (log.isDebugEnabled()) {
+				log.error("Error while executing ManagerAction: " + action, e);
+			}
+		} finally {
 			try {
-				connection.login();
-				ManagerResponse r = connection.sendAction(action);
-				if (log.isDebugEnabled() && r != null) {
-					log.debug(r.toString());
-				}
-				return (r instanceof ManagerError) ? null : r;
+				con.logoff();
 			} catch (Exception e) {
-				if (log.isDebugEnabled()) {
-					log.error("Error while executing ManagerAction: " + action, e);
-				}
-			} finally {
-				try {
-					connection.logoff();
-				} catch (Exception e) {
-					// no-op
-				}
+				// no-op
 			}
 		}
 		return null;
 	}
 
 	private ResponseEvents execEvent(EventGeneratingAction action) {
-		if (eventConnection == null) {
+		if (factory == null) {
 			log.warn("There is no Asterisk configured");
 			return null;
 		}
-		synchronized (eventConnection) {
+		ManagerConnection con = factory.createManagerConnection(); // TODO secure
+		try {
+			con.login("on");
+			ResponseEvents r = con.sendEventGeneratingAction(action);
+			if (log.isDebugEnabled() && r != null) {
+				log.debug(r.getResponse().toString());
+			}
+			return (r == null || r.getResponse() instanceof ManagerError) ? null : r;
+		} catch (Exception e) {
+			if (log.isDebugEnabled()) {
+				log.error("Error while executing EventGeneratingAction: " + action, e);
+			}
+		} finally {
 			try {
-				eventConnection.login("on");
-				ResponseEvents r = eventConnection.sendEventGeneratingAction(action);
-				if (log.isDebugEnabled() && r != null) {
-					log.debug(r.getResponse().toString());
-				}
-				return (r == null || r.getResponse() instanceof ManagerError) ? null : r;
+				con.logoff();
 			} catch (Exception e) {
-				if (log.isDebugEnabled()) {
-					log.error("Error while executing EventGeneratingAction: " + action, e);
-				}
-			} finally {
-				try {
-					eventConnection.logoff();
-				} catch (Exception e) {
-					// no-op
-				}
+				// no-op
 			}
 		}
 		return null;