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 ml...@apache.org on 2007/03/14 17:55:34 UTC

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

Author: mlovett
Date: Wed Mar 14 09:55:33 2007
New Revision: 518216

URL: http://svn.apache.org/viewvc?view=rev&rev=518216
Log:
Ensure that we match up inbound and outbound sequences, so that we stop polling once we get the reply messages that we expect

Modified:
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/SequenceProcessor.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/polling/PollingManager.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/RMDBean.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SequenceManager.java
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.java

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java?view=diff&rev=518216&r1=518215&r2=518216
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/CreateSeqResponseMsgProcessor.java Wed Mar 14 09:55:33 2007
@@ -164,7 +164,7 @@
 			rMDBean.setAcksToEPR(acksToEPR.getAddress());
 			rMDBean.setSequenceID(rmsBean.getOfferedSequence());
 			rMDBean.setNextMsgNoToProcess(1);
-			rMDBean.setOutboundSequence(rmsBean.getSequenceID());
+			rMDBean.setOutboundInternalSequence(rmsBean.getInternalSequenceID());
 
 			//Storing the referenceMessage of the sending side sequence as the reference message
 			//of the receiving side as well.

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/SequenceProcessor.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/SequenceProcessor.java?view=diff&rev=518216&r1=518215&r2=518216
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/SequenceProcessor.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/SequenceProcessor.java Wed Mar 14 09:55:33 2007
@@ -243,9 +243,9 @@
 		
 		// If the message is a reply to an outbound message then we can update the RMSBean that
 		// matches.
-		String outboundSequence = bean.getOutboundSequence();
+		String outboundSequence = bean.getOutboundInternalSequence();
 		if(outboundSequence != null) {
-			RMSBean outBean = SandeshaUtil.getRMSBeanFromSequenceId(storageManager, outboundSequence);
+			RMSBean outBean = SandeshaUtil.getRMSBeanFromInternalSequenceId(storageManager, outboundSequence);
 			if(outBean != null && outBean.getExpectedReplies() > 0 ) {
 				outBean.setExpectedReplies(outBean.getExpectedReplies() - 1);
 				RMSBeanMgr outMgr = storageManager.getRMSBeanMgr();

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/polling/PollingManager.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/polling/PollingManager.java?view=diff&rev=518216&r1=518215&r2=518216
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/polling/PollingManager.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/polling/PollingManager.java Wed Mar 14 09:55:33 2007
@@ -166,10 +166,10 @@
 			// The sequence is still there, but if we have a running related sequence
 			// that is not expecting replies then there is no need to poll.
 			boolean doPoll = true;
-			String outboundSequence = nextMsgBean.getOutboundSequence();
+			String outboundSequence = nextMsgBean.getOutboundInternalSequence();
 			if(outboundSequence != null) {
 				RMSBean findRMS = new RMSBean();
-				findRMS.setSequenceID(outboundSequence);
+				findRMS.setInternalSequenceID(outboundSequence);
 				findRMS.setTerminated(false);
 				RMSBeanMgr mgr = storageManager.getRMSBeanMgr();
 				RMSBean outbound = mgr.findUnique(findRMS);

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/RMDBean.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/RMDBean.java?view=diff&rev=518216&r1=518215&r2=518216
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/RMDBean.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/storage/beans/RMDBean.java Wed Mar 14 09:55:33 2007
@@ -63,7 +63,7 @@
 	 * Client side, we keep track of inbound and outbound sequence pairs. Each
 	 * inbound sequence has the identifier of the associated outbound sequence.
 	 */
-	private String outboundSequence;
+	private String outboundInternalSequence;
 
 	/**
 	 * Comment for <code>nextMsgNoToProcess</code>
@@ -163,12 +163,12 @@
 		this.toAddress = toAddress;
 	}
 
-	public String getOutboundSequence() {
-		return outboundSequence;
+	public String getOutboundInternalSequence() {
+		return outboundInternalSequence;
 	}
 
-	public void setOutboundSequence(String outboundSequence) {
-		this.outboundSequence = outboundSequence;
+	public void setOutboundInternalSequence(String outboundSequence) {
+		this.outboundInternalSequence = outboundSequence;
 	}
 
 
@@ -181,8 +181,9 @@
 		result.append("\nHishestInMessageNumber: "); result.append(highestInMessageNumber);
 		result.append("\nHishestInMessageKey: "); result.append(highestInMessageId);
 		result.append("\nLastInMessageId: "); result.append(lastInMessageId);
-		result.append("\nOutOfOrderRanges   :"); result.append(outOfOrderRanges);
-		result.append("\nServerCompletedMsgs:"); result.append(serverCompletedMessages);
+		result.append("\nOutOfOrderRanges   : "); result.append(outOfOrderRanges);
+		result.append("\nServerCompletedMsgs: "); result.append(serverCompletedMessages);
+		result.append("\nOutbound int seq   : "); result.append(outboundInternalSequence);
 		return result.toString();
 	}
 
@@ -212,7 +213,7 @@
 		else if(bean.getToAddress() != null && !bean.getToAddress().equals(this.getToAddress()))
 			equal = false;
 		
-		else if(bean.getOutboundSequence() != null && !bean.getOutboundSequence().equals(this.getOutboundSequence()))
+		else if(bean.getOutboundInternalSequence() != null && !bean.getOutboundInternalSequence().equals(this.getOutboundInternalSequence()))
 			equal = false;
 		
 		else if ((bean.rmdFlags & NEXT_MSG_NO_FLAG) != 0 && bean.getNextMsgNoToProcess() != this.getNextMsgNoToProcess())

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SequenceManager.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SequenceManager.java?view=diff&rev=518216&r1=518215&r2=518216
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SequenceManager.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/SequenceManager.java Wed Mar 14 09:55:33 2007
@@ -97,8 +97,9 @@
 		// If this create is the result of a MakeConnection, then we must have a related
 		// outbound sequence.
 		SequenceEntry entry = (SequenceEntry) createSeqContext.getProperty(Sandesha2Constants.MessageContextProperties.MAKECONNECTION_ENTRY);
+		if(log.isDebugEnabled()) log.debug("This message is associated with sequence entry: " + entry);
 		if(entry != null && entry.isRmSource()) {
-			rmdBean.setOutboundSequence(entry.getSequenceId());
+			rmdBean.setOutboundInternalSequence(entry.getSequenceId());
 		}
 
 		rmdBean.setServerCompletedMessages(new RangeString());

Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.java?view=diff&rev=518216&r1=518215&r2=518216
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/SenderWorker.java Wed Mar 14 09:55:33 2007
@@ -467,6 +467,9 @@
 			responseMessageContext.setServiceContext(msgCtx.getServiceContext());
 			responseMessageContext.setServiceGroupContext(msgCtx.getServiceGroupContext());
 
+			responseMessageContext.setProperty(Sandesha2Constants.MessageContextProperties.MAKECONNECTION_ENTRY,
+					msgCtx.getProperty(Sandesha2Constants.MessageContextProperties.MAKECONNECTION_ENTRY));
+
 			// copying required properties from op. context to the response msg
 			// ctx.
 			
@@ -481,7 +484,6 @@
 			responseMessageContext.setProperty(HTTPConstants.CONTENT_TYPE, requestMsgOpCtx
 							.getProperty(HTTPConstants.CONTENT_TYPE));
 
-			
 			// If request is REST we assume the responseMessageContext is REST,
 			// so set the variable
 



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