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 mc...@apache.org on 2007/04/13 09:49:19 UTC

svn commit: r528378 - /webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/InvokerWorker.java

Author: mckierna
Date: Fri Apr 13 00:49:18 2007
New Revision: 528378

URL: http://svn.apache.org/viewvc?view=rev&rev=528378
Log:
See http://issues.apache.org/jira/browse/SANDESHA2-83

Modified:
    webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/InvokerWorker.java

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=528378&r1=528377&r2=528378
==============================================================================
--- webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/InvokerWorker.java (original)
+++ webservices/sandesha/trunk/java/src/org/apache/sandesha2/workers/InvokerWorker.java Fri Apr 13 00:49:18 2007
@@ -60,7 +60,15 @@
 				transaction.commit();
 				transaction = null;
 			}
-			
+					
+			//starting a transaction for the invocation work.
+			transaction = storageManager.getTransaction();
+			// Depending on the transaction  support, the service will be invoked only once. 
+			// Therefore we delete the invoker bean and message now, ahead of time
+			invokerBeanMgr.delete(messageContextKey);
+			// removing the corresponding message context as well.
+			storageManager.removeMessageContext(messageContextKey);
+
 			try {
 
 				boolean postFailureInvocation = false;
@@ -95,10 +103,10 @@
 
 				handleFault(msgToInvoke, e);
 			}
-				
-			//starting a transaction for the post-invocation work.
-			transaction = storageManager.getTransaction();
-						
+
+
+
+			
 			if (rmMsg.getMessageType() == Sandesha2Constants.MessageTypes.APPLICATION) {
 				Sequence sequence = (Sequence) rmMsg
 						.getMessagePart(Sandesha2Constants.MessageParts.SEQUENCE);
@@ -127,13 +135,6 @@
 				}
 			}
 			
-			// Service will be invoked only once. I.e. even if an
-			// exception get thrown in invocation
-			// the service will not be invoked again.
-			invokerBeanMgr.delete(messageContextKey);
-
-			// removing the corresponding message context as well.
-			storageManager.removeMessageContext(messageContextKey);
 			
 			if(!ignoreNextMsg){
 				// updating the next msg to invoke



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