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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]