Author: gatfora
Date: Mon May 21 07:56:36 2007
New Revision: 540159

URL: http://svn.apache.org/viewvc?view=rev&rev=540159
Log:
Put a delay into SenderBeans returned by the MakeConnectionProcessor.  This 
stops duplicates being sent along MakeConnections that arrive at short intervals

Modified:
    
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.java
    
webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/scenarios/RMScenariosTest.java

Modified: 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.java?view=diff&rev=540159&r1=540158&r2=540159
==============================================================================
--- 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.java
 (original)
+++ 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.java
 Mon May 21 07:56:36 2007
@@ -24,6 +24,7 @@
 import org.apache.sandesha2.storage.beanmanagers.SenderBeanMgr;
 import org.apache.sandesha2.storage.beans.RMSBean;
 import org.apache.sandesha2.storage.beans.SenderBean;
+import org.apache.sandesha2.util.MessageRetransmissionAdjuster;
 import org.apache.sandesha2.util.MsgInitializer;
 import org.apache.sandesha2.util.SandeshaUtil;
 import org.apache.sandesha2.util.SpecSpecificConstants;
@@ -71,6 +72,9 @@
                if (identifier!=null)
                        
findSenderBean.setSequenceID(identifier.getIdentifier());
                
+               // Set the time to send field to be now
+               findSenderBean.setTimeToSend(System.currentTimeMillis());
+               
                //finding the beans that go with the criteria of the passed 
SenderBean
                //The reSend flag is ignored for this selection, so there is no 
need to
                //set it.
@@ -178,6 +182,10 @@
                
                
returnMessage.setProperty(Sandesha2Constants.MAKE_CONNECTION_RESPONSE, 
Boolean.TRUE);
                
+               // Update the senderBeans send time.
+               boolean continueSend = 
+                       
MessageRetransmissionAdjuster.adjustRetransmittion(returnRMMsg, 
matchingMessage, returnRMMsg.getConfigurationContext(), storageManager);
+               
                //
                // Commit the current transaction, so that the SenderWorker can 
do it's own locking
                if(transaction != null && transaction.isActive()) 
transaction.commit();
@@ -186,9 +194,11 @@
                //This will allow Sandesha2 to consider both of following 
senarios equally.
                //  1. A message being sent by the Sender thread.
                //  2. A message being sent as a reply to an MakeConnection.
-               SenderWorker worker = new SenderWorker 
(pollMessage.getConfigurationContext(), matchingMessage, 
returnRMMsg.getRMSpecVersion());
-               worker.setMessage(returnRMMsg);
-               worker.run();
+               if (continueSend) {
+                       SenderWorker worker = new SenderWorker 
(pollMessage.getConfigurationContext(), matchingMessage, 
returnRMMsg.getRMSpecVersion());
+                       worker.setMessage(returnRMMsg);
+                       worker.run();
+               }
                
                if(log.isDebugEnabled()) log.debug("Exit: 
MakeConnectionProcessor::replyToPoll");
        }

Modified: 
webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/scenarios/RMScenariosTest.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/scenarios/RMScenariosTest.java?view=diff&rev=540159&r1=540158&r2=540159
==============================================================================
--- 
webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/scenarios/RMScenariosTest.java
 (original)
+++ 
webservices/sandesha/trunk/java/modules/tests/src/test/java/org/apache/sandesha2/scenarios/RMScenariosTest.java
 Mon May 21 07:56:36 2007
@@ -116,7 +116,6 @@
                // Test sync echo with no offer, and the 1.1 spec
                clientOptions = new Options();
                
clientOptions.setProperty(SandeshaClientConstants.RM_SPEC_VERSION,Sandesha2Constants.SPEC_VERSIONS.v1_1);
-               org.apache.log4j.BasicConfigurator.configure();
                runEcho(clientOptions, false, false, true,true,true);
        }
 



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

Reply via email to