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