Revision: 19662
Author:   [email protected]
Date:     Tue Aug  9 03:24:25 2011
Log:      Update Issue 2794

Non regression HA test reproducing the issue added to the HA testsuite
http://code.google.com/p/mobicents/source/detail?r=19662

Modified:
/trunk/servers/sip-servlets/sip-servlets-examples/simple-sip-servlet-distributable/src/main/java/org/mobicents/servlet/sip/example/DistributableSimpleSipServlet.java /trunk/servers/sip-servlets/sip-servlets-test-suite/sipp-scenarios/clustering/auto-clustering-failover-test.sh /trunk/servers/sip-servlets/sip-servlets-test-suite/sipp-scenarios/clustering/clustering-failover-test.sh

=======================================
--- /trunk/servers/sip-servlets/sip-servlets-examples/simple-sip-servlet-distributable/src/main/java/org/mobicents/servlet/sip/example/DistributableSimpleSipServlet.java Thu Aug 4 05:56:39 2011 +++ /trunk/servers/sip-servlets/sip-servlets-examples/simple-sip-servlet-distributable/src/main/java/org/mobicents/servlet/sip/example/DistributableSimpleSipServlet.java Tue Aug 9 03:24:25 2011
@@ -25,6 +25,7 @@
 import java.io.IOException;
 import java.util.Iterator;

+import javax.annotation.Resource;
 import javax.servlet.ServletConfig;
 import javax.servlet.ServletException;
 import javax.servlet.sip.ServletTimer;
@@ -35,10 +36,10 @@
 import javax.servlet.sip.SipServletRequest;
 import javax.servlet.sip.SipServletResponse;
 import javax.servlet.sip.SipSession;
+import javax.servlet.sip.SipSession.State;
 import javax.servlet.sip.SipURI;
 import javax.servlet.sip.TimerListener;
 import javax.servlet.sip.TimerService;
-import javax.servlet.sip.SipSession.State;

 import org.apache.log4j.Logger;

@@ -62,6 +63,7 @@
        private static final String CALLEE_SEND_BYE = "yousendbye";
        private static final String SAS_TIMER_SEND_BYE = "sastimersendbye";
        private static final String CANCEL_SERVLET_TIMER = "cancelservlettimer";
+       private static final String INJECTED_TIMER = "injectedtimer";

        private static final String NO_ATTRIBUTES = "NoAttributes";
        private static final String REMOVE_ATTRIBUTES = "RemoveAttributes";
@@ -71,6 +73,7 @@
        private int byeDelay = DEFAULT_BYE_DELAY;

        ServletTimer servletTimer = null;
+       @Resource TimerService injectedTimerService;

        /** Creates a new instance of SimpleProxyServlet */
        public DistributableSimpleSipServlet() {
@@ -132,12 +135,34 @@
                sipServletResponse = 
request.createResponse(SipServletResponse.SC_OK);
                sipServletResponse.send();
if((((SipURI)request.getTo().getURI()).getUser()).contains(CALLEE_SEND_BYE)) { - TimerService timer = (TimerService) getServletContext().getAttribute(TIMER_SERVICE);
+                       TimerService timer = null;
+ if(!(((SipURI)request.getFrom().getURI()).getUser()).contains(INJECTED_TIMER)) {
+                               if(logger.isInfoEnabled()) {
+                                       logger.info("Distributable Simple Servlet: 
using injected timer");
+                               }
+                               timer = injectedTimerService;
+                       } else {
+                               if(logger.isInfoEnabled()) {
+ logger.info("Distributable Simple Servlet: using servlet context timer");
+                               }
+                               timer = (TimerService) 
getServletContext().getAttribute(TIMER_SERVICE);
+                       }
timer.createTimer(request.getApplicationSession(), byeDelay, false, request.getSession().getId()); } else if ((((SipURI)request.getTo().getURI()).getUser()).contains(SAS_TIMER_SEND_BYE)) {
                        
request.getSession().getApplicationSession().setExpires(1);
} else if ((((SipURI)request.getTo().getURI()).getUser()).contains(CANCEL_SERVLET_TIMER)) { - TimerService timer = (TimerService) getServletContext().getAttribute(TIMER_SERVICE);
+                       TimerService timer = null;
+ if(!(((SipURI)request.getFrom().getURI()).getUser()).contains(INJECTED_TIMER)) {
+                               if(logger.isInfoEnabled()) {
+                                       logger.info("Distributable Simple Servlet: 
using injected timer");
+                               }
+                               timer = injectedTimerService;
+                       } else {
+                               if(logger.isInfoEnabled()) {
+ logger.info("Distributable Simple Servlet: using servlet context timer");
+                               }
+                               timer = (TimerService) 
getServletContext().getAttribute(TIMER_SERVICE);
+                       }
servletTimer = timer.createTimer(request.getApplicationSession(), byeDelay, false, request.getSession().getId());
                }
        }
=======================================
--- /trunk/servers/sip-servlets/sip-servlets-test-suite/sipp-scenarios/clustering/auto-clustering-failover-test.sh Thu Aug 4 05:56:39 2011 +++ /trunk/servers/sip-servlets/sip-servlets-test-suite/sipp-scenarios/clustering/auto-clustering-failover-test.sh Tue Aug 9 03:24:25 2011
@@ -242,6 +242,13 @@

 ./auto-run-test.sh uas-sas-timer result.txt $CALLS

+#The test killed server 1, so we start it again
+./auto-start-jboss-server.sh $config1 config1.pid 0 uas-injected-timer
+
+sleep $HALFSTARTSLEEP
+
+./auto-run-test.sh uas-injected-timer result.txt $CALLS
+
 #End JBoss5-specific
 #fi

=======================================
--- /trunk/servers/sip-servlets/sip-servlets-test-suite/sipp-scenarios/clustering/clustering-failover-test.sh Thu Aug 4 05:56:39 2011 +++ /trunk/servers/sip-servlets/sip-servlets-test-suite/sipp-scenarios/clustering/clustering-failover-test.sh Tue Aug 9 03:24:25 2011
@@ -158,6 +158,11 @@
                    echo "Distributed example used is uas timer";
./sipp $MSS_IP:5080 -s yousendbye -sf uas/clustering-uac-timer.xml -trace_err -i $SIPP_IP -p 5050 -r $RATE -m $CALLS -rsa $LB_IP:5060 -trace_msg -nd -timeout $ACTIVE_TIMEOUT -timeout_error
                    ;;
+           uas-injected-timer)
+                       rm ./uas/*.log
+                   echo "Distributed example used is uas injected timer";
+ ./sipp $MSS_IP:5080 -s yousendbye-injectedtimer -sf uas/clustering-uac-timer.xml -trace_err -i $SIPP_IP -p 5050 -r $RATE -m $CALLS -rsa $LB_IP:5060 -trace_msg -nd -timeout $ACTIVE_TIMEOUT -timeout_error
+                   ;;
            uas-cancel-timer)
                        rm ./uas/*.log
                    echo "Distributed example used is uas cancel timer";

Reply via email to