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/12/08 12:46:25 UTC

svn commit: r483955 - in /webservices/sandesha/trunk/java/src/org/apache/sandesha2: msgprocessors/ storage/beans/ util/

Author: mlovett
Date: Fri Dec  8 03:46:23 2006
New Revision: 483955

URL: http://svn.apache.org/viewvc?view=rev&rev=483955
Log:
Fix a timing window in reply sequence termination, add trace to beans, and ensure ack messages know that they are flowing out.

Modified:
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/CreateSeqBean.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/InvokerBean.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/NextMsgBean.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/SenderBean.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/SequencePropertyBean.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/AcknowledgementManager.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=483955&r1=483954&r2=483955
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java Fri Dec  8 03:46:23 2006
@@ -130,6 +130,7 @@
 			secManager.checkProofOfPossession(token, soapHeader, msgCtx);
 		}
 		
+		if(log.isDebugEnabled()) log.debug("Got Ack for RM Sequence: " + outSequenceId + ", propertyKey: " + sequencePropertyKey);
 		Iterator ackRangeIterator = sequenceAck.getAcknowledgementRanges().iterator();
 		Iterator nackIterator = sequenceAck.getNackList().iterator();
 

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=483955&r1=483954&r2=483955
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/TerminateSeqMsgProcessor.java Fri Dec  8 03:46:23 2006
@@ -223,6 +223,13 @@
 							Sandesha2Constants.SequenceProperties.HIGHEST_OUT_MSG_NUMBER, storageManager);
 					highestOutMsgNo = Long.parseLong(highOutMessageNumberString);
 					addResponseSideTerminate = true;
+					
+					// It is possible that the message has gone out, but not been acked yet. In that case
+					// we can store the HIGHEST_OUT_MSG_NUMBER as the LAST_OUT_MESSAGE_NO, so that when the
+					// ack arrives we will terminate the sequence
+					SequencePropertyBean lastOutMsgNoBean = new SequencePropertyBean(responseSideSequencePropertyKey,
+							Sandesha2Constants.SequenceProperties.LAST_OUT_MESSAGE_NO, highOutMessageNumberString);
+					seqPropMgr.insert(lastOutMsgNoBean);
 				}
 			}
 

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/CreateSeqBean.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/CreateSeqBean.java?view=diff&rev=483955&r1=483954&r2=483955
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/CreateSeqBean.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/CreateSeqBean.java Fri Dec  8 03:46:23 2006
@@ -124,4 +124,15 @@
 		this.referenceMessageStoreKey = referenceMessageStoreKey;
 	}
 	
+	public String toString() {
+		StringBuffer result = new StringBuffer();
+		result.append(this.getClass().getName());
+		result.append("\nSequence Id      : "); result.append(sequenceID);
+		result.append("\nInternal Seq Id  : "); result.append(internalSequenceID);
+		result.append("\nCreateSeq Msg Id : "); result.append(createSeqMsgID);
+		result.append("\nHas SecurityToken: "); result.append(securityTokenData != null && securityTokenData.length() > 0);
+		result.append("\nCreateSeq Msg Key: "); result.append(createSequenceMsgStoreKey);
+		result.append("\nReference Msg Key: "); result.append(referenceMessageStoreKey);
+		return result.toString();
+	}
 }

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/InvokerBean.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/InvokerBean.java?view=diff&rev=483955&r1=483954&r2=483955
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/InvokerBean.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/InvokerBean.java Fri Dec  8 03:46:23 2006
@@ -114,4 +114,14 @@
 	public void setInvoked(boolean invoked) {
 		this.invoked = invoked;
 	}
-}
\ No newline at end of file
+	
+	public String toString() {
+		StringBuffer result = new StringBuffer();
+		result.append(this.getClass().getName());
+		result.append("\nSequence Id: "); result.append(sequenceID);
+		result.append("\nMsg Number : "); result.append(msgNo);
+		result.append("\nInvoked    : "); result.append(invoked);
+		result.append("\nMessage Key: "); result.append(messageContextRefKey);
+		return result.toString();
+	}
+}

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/NextMsgBean.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/NextMsgBean.java?view=diff&rev=483955&r1=483954&r2=483955
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/NextMsgBean.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/NextMsgBean.java Fri Dec  8 03:46:23 2006
@@ -106,4 +106,13 @@
 		this.referenceMessageKey = referenceMessageKey;
 	}
 	
-}
\ No newline at end of file
+	public String toString() {
+		StringBuffer result = new StringBuffer();
+		result.append(this.getClass().getName());
+		result.append("\nSequence Id: "); result.append(sequenceID);
+		result.append("\nNext Msg # : "); result.append(nextMsgNoToProcess);
+		result.append("\nPolling    : "); result.append(pollingMode);
+		result.append("\nRef Msg Key: "); result.append(referenceMessageKey);
+		return result.toString();
+	}
+}

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/SenderBean.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/SenderBean.java?view=diff&rev=483955&r1=483954&r2=483955
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/SenderBean.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/SenderBean.java Fri Dec  8 03:46:23 2006
@@ -212,4 +212,19 @@
 		this.toAddress = toAddress;
 	}
 	
-}
\ No newline at end of file
+	public String toString() {
+		StringBuffer result = new StringBuffer();
+		// There is a lot of data in this bean, so we don't trace it all.
+		result.append(this.getClass().getName());
+		result.append("\nSequence Id    : "); result.append(sequenceID);
+		result.append("\nInternal Seq Id: "); result.append(internalSequenceID);
+		result.append("\nMessage Number : "); result.append(messageNumber);
+		result.append("\nMessage Type   : "); result.append(messageType);
+		result.append("\nMessage Key    : "); result.append(messageContextRefKey);
+		result.append("\nSend           : "); result.append(send);
+		result.append("\nResend         : "); result.append(reSend);
+		result.append("\nSent count     : "); result.append(sentCount);
+		result.append("\nTime to send   : "); result.append(timeToSend);
+		return result.toString();
+	}
+}

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/SequencePropertyBean.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/SequencePropertyBean.java?view=diff&rev=483955&r1=483954&r2=483955
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/SequencePropertyBean.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/SequencePropertyBean.java Fri Dec  8 03:46:23 2006
@@ -80,4 +80,13 @@
 	public void setValue(String value) {
 		this.value = value;
 	}
-}
\ No newline at end of file
+	
+	public String toString() {
+		StringBuffer result = new StringBuffer();
+		result.append(this.getClass().getName());
+		result.append("\nSeq Key :"); result.append(sequencePropertyKey);
+		result.append("\nName    :"); result.append(name);
+		result.append("\nValue   :"); result.append(value);
+		return result.toString();
+	}
+}

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/AcknowledgementManager.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/AcknowledgementManager.java?view=diff&rev=483955&r1=483954&r2=483955
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/AcknowledgementManager.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/AcknowledgementManager.java Fri Dec  8 03:46:23 2006
@@ -233,6 +233,7 @@
 		ackMsgCtx.setProperty(Sandesha2Constants.APPLICATION_PROCESSING_DONE, "true");
 
 		RMMsgContext ackRMMsgCtx = MsgInitializer.initializeMessage(ackMsgCtx);
+		ackRMMsgCtx.setFlow(MessageContext.OUT_FLOW);
 		ackRMMsgCtx.setRMNamespaceValue(referenceRMMessage.getRMNamespaceValue());
 
 		ackMsgCtx.setMessageID(SandeshaUtil.getUUID());



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