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;