You are viewing a plain text version of this content. The canonical link for it is here.
Posted to sandesha-dev@ws.apache.org by mc...@apache.org on 2007/09/25 16:53:59 UTC

svn commit: r579282 - in /webservices/sandesha/trunk/java/modules: core/src/main/java/org/apache/sandesha2/util/MessageRetransmissionAdjuster.java mar/module.xml

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: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org