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]