You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fx-dev@ws.apache.org by ml...@apache.org on 2006/11/24 17:48:06 UTC

svn commit: r478911 - in /webservices/sandesha/trunk/java/src/org/apache/sandesha2: msgprocessors/AcknowledgementProcessor.java util/TerminateManager.java workers/InvokerWorker.java

Author: mlovett
Date: Fri Nov 24 08:48:05 2006
New Revision: 478911

URL: http://svn.apache.org/viewvc?view=rev&rev=478911
Log:
Andy's deadlockAck patch from SANDESHA2-49

Modified:
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/InvokerWorker.java

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java?view=diff&rev=478911&r1=478910&r2=478911
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java Fri Nov 24 08:48:05 2006
@@ -148,12 +148,11 @@
 			throw fault;
 		}
 
-		// updating the last activated time of the sequence.
-		SequenceManager.updateLastActivatedTime(sequencePropertyKey, storageManager);
-
 		SenderBean input = new SenderBean();
 		input.setSend(true);
 		input.setReSend(true);
+		input.setMessageType(Sandesha2Constants.MessageTypes.APPLICATION);
+		input.setInternalSequenceID(internalSequenceId);
 		Collection retransmitterEntriesOfSequence = retransmitterMgr.find(input);
 
 		ArrayList ackedMessagesList = new ArrayList();
@@ -175,6 +174,9 @@
 				ackedMessagesList.add(new Long(messageNo));
 			}
 		}
+
+		// updating the last activated time of the sequence.
+		SequenceManager.updateLastActivatedTime(sequencePropertyKey, storageManager);
 
 		while (nackIterator.hasNext()) {
 			Nack nack = (Nack) nackIterator.next();

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java?view=diff&rev=478911&r1=478910&r2=478911
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java Fri Nov 24 08:48:05 2006
@@ -142,9 +142,18 @@
 	 */
 	private static void completeTerminationOfReceivingSide(ConfigurationContext configContext, String sequencePropertyKey,String sequenceId,
 			StorageManager storageManager) throws SandeshaException {
-		NextMsgBeanMgr nextMsgBeanMgr = storageManager.getNextMsgBeanMgr();
 
+		// removing the HighestInMessage entry.
+		String highestInMessageKey = SandeshaUtil.getSequenceProperty(sequencePropertyKey,
+				Sandesha2Constants.SequenceProperties.HIGHEST_IN_MSG_KEY, storageManager);
+		if (highestInMessageKey != null) {
+			storageManager.removeMessageContext(highestInMessageKey);
+		}
+
+		removeReceivingSideProperties(configContext, sequencePropertyKey, sequenceId, storageManager);
+		
 		// removing nextMsgMgr entries
+		NextMsgBeanMgr nextMsgBeanMgr = storageManager.getNextMsgBeanMgr();
 		NextMsgBean findNextMsgBean = new NextMsgBean();
 		findNextMsgBean.setSequenceID(sequenceId);
 		Collection collection = nextMsgBeanMgr.find(findNextMsgBean);
@@ -154,14 +163,6 @@
 			 nextMsgBeanMgr.delete(nextMsgBean.getSequenceID());
 		}
 
-		// removing the HighestInMessage entry.
-		String highestInMessageKey = SandeshaUtil.getSequenceProperty(sequencePropertyKey,
-				Sandesha2Constants.SequenceProperties.HIGHEST_IN_MSG_KEY, storageManager);
-		if (highestInMessageKey != null) {
-			storageManager.removeMessageContext(highestInMessageKey);
-		}
-
-		removeReceivingSideProperties(configContext, sequencePropertyKey, sequenceId, storageManager);
 	}
 
 	private static void removeReceivingSideProperties(ConfigurationContext configContext, String sequencePropertyKey, 

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/InvokerWorker.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/InvokerWorker.java?view=diff&rev=478911&r1=478910&r2=478911
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/InvokerWorker.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/InvokerWorker.java Fri Nov 24 08:48:05 2006
@@ -120,10 +120,7 @@
 			invokerBeanMgr.delete(messageContextKey);
 
 			// removing the corresponding message context as well.
-			MessageContext msgCtx = storageManager.retrieveMessageContext(messageContextKey, configurationContext);
-			if (msgCtx != null) {
-				storageManager.removeMessageContext(messageContextKey);
-			}
+			storageManager.removeMessageContext(messageContextKey);
 			
 			if (rmMsg.getMessageType() == Sandesha2Constants.MessageTypes.APPLICATION) {
 				Sequence sequence = (Sequence) rmMsg
@@ -134,7 +131,7 @@
 					TerminateManager.cleanReceivingSideAfterInvocation(configurationContext, sequencePropertyKey, sequenceId, storageManager);
 					// exit from current iteration. (since an entry
 					// was removed)
-					
+					if(log.isDebugEnabled()) log.debug("Exit: InvokerWorker::run Last message return");					
 					return;
 				}
 			}



---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org