Author: mckierna
Date: Tue Sep 25 07:53:58 2007
New Revision: 579282

URL: http://svn.apache.org/viewvc?rev=579282&view=rev
Log:
long backoff after several message retransmissions

Modified:
    
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/MessageRetransmissionAdjuster.java
    webservices/sandesha/trunk/java/modules/mar/module.xml

Modified: 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/MessageRetransmissionAdjuster.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/MessageRetransmissionAdjuster.java?rev=579282&r1=579281&r2=579282&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/MessageRetransmissionAdjuster.java
 (original)
+++ 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/util/MessageRetransmissionAdjuster.java
 Tue Sep 25 07:53:58 2007
@@ -36,6 +36,9 @@
 public class MessageRetransmissionAdjuster {
 
        private static final Log log = 
LogFactory.getLog(MessageRetransmissionAdjuster.class);
+       
+       public static final int NUMBER_OF_EAGER_RESENDS_ALLOWED = 3; //the 
number of msg resends until we slow down our pace
+       public static final int LAZY_RESEND_SCALE_FACTOR = 10; //lazy resends 
are 10 times slower than eager resends
 
        public static boolean adjustRetransmittion(RMMsgContext rmMsgCtx, 
SenderBean retransmitterBean, ConfigurationContext configContext,
                        StorageManager storageManager) throws AxisFault {
@@ -104,13 +107,15 @@
                long newInterval = baseInterval;
                if (propertyBean.isExponentialBackoff()) {
                        newInterval = 
generateNextExponentialBackedoffDifference(count, baseInterval);
+               }               
+               else 
if(retransmitterBean.getSentCount()>NUMBER_OF_EAGER_RESENDS_ALLOWED){
+                       //if we are not exponential backoff then we should 
still do a straight backoff after a set number
+                       //of resends
+                       newInterval*=LAZY_RESEND_SCALE_FACTOR;
                }
 
-               long newTimeToSend = 0;
-
                long timeNow = System.currentTimeMillis();
-               newTimeToSend = timeNow + newInterval;
-
+               long newTimeToSend = timeNow + newInterval;
                retransmitterBean.setTimeToSend(newTimeToSend);
 
                return retransmitterBean;

Modified: webservices/sandesha/trunk/java/modules/mar/module.xml
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/mar/module.xml?rev=579282&r1=579281&r2=579282&view=diff
==============================================================================
--- webservices/sandesha/trunk/java/modules/mar/module.xml (original)
+++ webservices/sandesha/trunk/java/modules/mar/module.xml Tue Sep 25 07:53:58 
2007
@@ -139,6 +139,7 @@
              <!-- This will not be overriden by service level policies -->
                                
<sandesha2:SecurityManager>org.apache.sandesha2.security.dummy.DummySecurityManager</sandesha2:SecurityManager>
                                
<sandesha2:ContextManager>org.apache.sandesha2.context.DummyContextManager</sandesha2:ContextManager>
+                               
<sandesha2:EPRDecorator>org.apache.sandesha2.addressing.EPRDecoratorImpl</sandesha2:EPRDecorator>
                                
                                <sandesha2:MakeConnection>
                                  <sandesha2:Enabled>true</sandesha2:Enabled>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to