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/17 12:00:22 UTC

svn commit: r476107 - /webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java

Author: mlovett
Date: Fri Nov 17 03:00:21 2006
New Revision: 476107

URL: http://svn.apache.org/viewvc?view=rev&rev=476107
Log:
Applying Andy's terminate.patch for SANDESHA2-45

Modified:
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java?view=diff&rev=476107&r1=476106&r2=476107
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java Fri Nov 17 03:00:21 2006
@@ -355,6 +355,14 @@
 		String terminated = SandeshaUtil.getSequenceProperty(outSequenceID,
 				Sandesha2Constants.SequenceProperties.TERMINATE_ADDED, storageManager);
 
+		if (terminated != null && "true".equals(terminated)) {
+			String message = SandeshaMessageHelper.getMessage(SandeshaMessageKeys.terminateAddedPreviously);
+			log.debug(message);
+			if (log.isDebugEnabled())
+				log.debug("Exit: TerminateSeqMsgProcessor::processOutMessage, sequence previously terminated");
+			return true;
+		}
+
 		AxisOperation terminateOp = SpecSpecificConstants.getWSRMOperation(
 				Sandesha2Constants.MessageTypes.TERMINATE_SEQ,
 				rmMsgCtx.getRMSpecVersion(),
@@ -367,12 +375,6 @@
 
 		msgContext.setOperationContext(opcontext);
 		msgContext.setAxisOperation(terminateOp);
-		
-		if (terminated != null && "true".equals(terminated)) {
-			String message = SandeshaMessageHelper.getMessage(SandeshaMessageKeys.terminateAddedPreviously);
-			log.debug(message);
-			return false;
-		}
 
 		TerminateSequence terminateSequencePart = (TerminateSequence) rmMsgCtx
 				.getMessagePart(Sandesha2Constants.MessageParts.TERMINATE_SEQ);
@@ -423,6 +425,10 @@
 
 		terminateBean.setMessageID(msgContext.getMessageID());
 		
+		// Set the internal sequence id and outgoing sequence id for the terminate message
+		terminateBean.setInternalSequenceID(internalSeqenceID);
+		terminateBean.setSequenceID(outSequenceID);
+		
 		EndpointReference to = msgContext.getTo();
 		if (to!=null)
 			terminateBean.setToAddress(to.getAddress());
@@ -444,14 +450,15 @@
 		terminateAdded.setValue("true");
 
 		seqPropMgr.insert(terminateAdded);
-
-		rmMsgCtx.setProperty(Sandesha2Constants.SET_SEND_TO_TRUE, Sandesha2Constants.VALUE_TRUE);
-
+		
 		SandeshaUtil.executeAndStore(rmMsgCtx, key);
+		
+		// Pause the message context
+		rmMsgCtx.pause();
 
 		if (log.isDebugEnabled())
-			log.debug("Exit: TerminateSeqMsgProcessor::processOutMessage " + Boolean.FALSE);
-		return false;
+			log.debug("Exit: TerminateSeqMsgProcessor::processOutMessage " + Boolean.TRUE);
+		return true;
 	}
 
 }



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