Author: mlovett
Date: Thu Jan 25 08:33:27 2007
New Revision: 499836

URL: http://svn.apache.org/viewvc?view=rev&rev=499836
Log:
Only time out sequences based on SenderBeans that have an internal sequence id 
set

Modified:
    
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/MessageRetransmissionAdjuster.java

Modified: 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/MessageRetransmissionAdjuster.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/MessageRetransmissionAdjuster.java?view=diff&rev=499836&r1=499835&r2=499836
==============================================================================
--- 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/MessageRetransmissionAdjuster.java
 (original)
+++ 
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/MessageRetransmissionAdjuster.java
 Thu Jan 25 08:33:27 2007
@@ -63,27 +63,31 @@
                adjustNextRetransmissionTime(retransmitterBean, propertyBean);
 
                int maxRetransmissionAttempts = 
propertyBean.getMaximumRetransmissionCount();
+               
+               // We can only time out sequences if we can identify the 
correct sequence, and
+               // we need the internal sequence id for that.
+               boolean continueSending = true;
+               if(internalSequenceID != null) {
+                       boolean timeOutSequence = false;
+                       if (maxRetransmissionAttempts >= 0 && 
retransmitterBean.getSentCount() > maxRetransmissionAttempts)
+                               timeOutSequence = true;
 
-               boolean timeOutSequence = false;
-               if (maxRetransmissionAttempts >= 0 && 
retransmitterBean.getSentCount() > maxRetransmissionAttempts)
-                       timeOutSequence = true;
-
-               boolean sequenceTimedOut = 
SequenceManager.hasSequenceTimedOut(internalSequenceID, rmMsgCtx, 
storageManager);
-               if (sequenceTimedOut)
-                       timeOutSequence = true;
+                       boolean sequenceTimedOut = 
SequenceManager.hasSequenceTimedOut(internalSequenceID, rmMsgCtx, 
storageManager);
+                       if (sequenceTimedOut)
+                               timeOutSequence = true;
 
-               boolean continueSending = true;
-               if (timeOutSequence) {
-                       // Warn the user that the sequence has timed out
-                       //if (log.isWarnEnabled())
-                       //      log.warn();
-                       stopRetransmission(retransmitterBean);
+                       if (timeOutSequence) {
+                               // Warn the user that the sequence has timed out
+                               //if (log.isWarnEnabled())
+                               //      log.warn();
+                               stopRetransmission(retransmitterBean);
 
-                       // Only messages of outgoing sequences get 
retransmitted. So named
-                       // following method according to that.
-                       
-                       
finalizeTimedOutSequence(sequencePropertyKey,internalSequenceID, sequenceID, 
rmMsgCtx.getMessageContext(), storageManager);
-                       continueSending = false;
+                               // Only messages of outgoing sequences get 
retransmitted. So named
+                               // following method according to that.
+                               
+                               
finalizeTimedOutSequence(sequencePropertyKey,internalSequenceID, sequenceID, 
rmMsgCtx.getMessageContext(), storageManager);
+                               continueSending = false;
+                       }
                }
 
                if (log.isDebugEnabled())



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

Reply via email to