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/11/24 17:48:06 UTC
svn commit: r478911 - in
/webservices/sandesha/trunk/java/src/org/apache/sandesha2:
msgprocessors/AcknowledgementProcessor.java util/TerminateManager.java
workers/InvokerWorker.java
Author: mlovett
Date: Fri Nov 24 08:48:05 2006
New Revision: 478911
URL: http://svn.apache.org/viewvc?view=rev&rev=478911
Log:
Andy's deadlockAck patch from SANDESHA2-49
Modified:
webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java
webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/InvokerWorker.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=478911&r1=478910&r2=478911
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/msgprocessors/AcknowledgementProcessor.java Fri Nov 24 08:48:05 2006
@@ -148,12 +148,11 @@
throw fault;
}
- // updating the last activated time of the sequence.
- SequenceManager.updateLastActivatedTime(sequencePropertyKey, storageManager);
-
SenderBean input = new SenderBean();
input.setSend(true);
input.setReSend(true);
+ input.setMessageType(Sandesha2Constants.MessageTypes.APPLICATION);
+ input.setInternalSequenceID(internalSequenceId);
Collection retransmitterEntriesOfSequence = retransmitterMgr.find(input);
ArrayList ackedMessagesList = new ArrayList();
@@ -175,6 +174,9 @@
ackedMessagesList.add(new Long(messageNo));
}
}
+
+ // updating the last activated time of the sequence.
+ SequenceManager.updateLastActivatedTime(sequencePropertyKey, storageManager);
while (nackIterator.hasNext()) {
Nack nack = (Nack) nackIterator.next();
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java?view=diff&rev=478911&r1=478910&r2=478911
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/util/TerminateManager.java Fri Nov 24 08:48:05 2006
@@ -142,9 +142,18 @@
*/
private static void completeTerminationOfReceivingSide(ConfigurationContext configContext, String sequencePropertyKey,String sequenceId,
StorageManager storageManager) throws SandeshaException {
- NextMsgBeanMgr nextMsgBeanMgr = storageManager.getNextMsgBeanMgr();
+ // removing the HighestInMessage entry.
+ String highestInMessageKey = SandeshaUtil.getSequenceProperty(sequencePropertyKey,
+ Sandesha2Constants.SequenceProperties.HIGHEST_IN_MSG_KEY, storageManager);
+ if (highestInMessageKey != null) {
+ storageManager.removeMessageContext(highestInMessageKey);
+ }
+
+ removeReceivingSideProperties(configContext, sequencePropertyKey, sequenceId, storageManager);
+
// removing nextMsgMgr entries
+ NextMsgBeanMgr nextMsgBeanMgr = storageManager.getNextMsgBeanMgr();
NextMsgBean findNextMsgBean = new NextMsgBean();
findNextMsgBean.setSequenceID(sequenceId);
Collection collection = nextMsgBeanMgr.find(findNextMsgBean);
@@ -154,14 +163,6 @@
nextMsgBeanMgr.delete(nextMsgBean.getSequenceID());
}
- // removing the HighestInMessage entry.
- String highestInMessageKey = SandeshaUtil.getSequenceProperty(sequencePropertyKey,
- Sandesha2Constants.SequenceProperties.HIGHEST_IN_MSG_KEY, storageManager);
- if (highestInMessageKey != null) {
- storageManager.removeMessageContext(highestInMessageKey);
- }
-
- removeReceivingSideProperties(configContext, sequencePropertyKey, sequenceId, storageManager);
}
private static void removeReceivingSideProperties(ConfigurationContext configContext, String sequencePropertyKey,
Modified: webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/InvokerWorker.java
URL: http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/InvokerWorker.java?view=diff&rev=478911&r1=478910&r2=478911
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/InvokerWorker.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/InvokerWorker.java Fri Nov 24 08:48:05 2006
@@ -120,10 +120,7 @@
invokerBeanMgr.delete(messageContextKey);
// removing the corresponding message context as well.
- MessageContext msgCtx = storageManager.retrieveMessageContext(messageContextKey, configurationContext);
- if (msgCtx != null) {
- storageManager.removeMessageContext(messageContextKey);
- }
+ storageManager.removeMessageContext(messageContextKey);
if (rmMsg.getMessageType() == Sandesha2Constants.MessageTypes.APPLICATION) {
Sequence sequence = (Sequence) rmMsg
@@ -134,7 +131,7 @@
TerminateManager.cleanReceivingSideAfterInvocation(configurationContext, sequencePropertyKey, sequenceId, storageManager);
// exit from current iteration. (since an entry
// was removed)
-
+ if(log.isDebugEnabled()) log.debug("Exit: InvokerWorker::run Last message return");
return;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org