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