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