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

Reply via email to