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]