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 ga...@apache.org on 2007/05/21 16:56:37 UTC
svn commit: r540159 - in /webservices/sandesha/trunk/java/modules:
core/src/main/java/org/apache/sandesha2/msgprocessors/MakeConnectionProcessor.java
tests/src/test/java/org/apache/sandesha2/scenarios/RMScenariosTest.java
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: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org