Author: amilas
Date: Tue Feb 24 15:38:33 2009
New Revision: 747405

URL: http://svn.apache.org/viewvc?rev=747405&view=rev
Log:
when handling duplicate messages. i.e if the services blocks the thread for 60 
seconds, then there is a possiblity
that RMS sends duplicate messages. these duplcate messages are locked in the 
GloblaInHander util first message clear 
the service. Then when after processing these messages they going to commit. At 
this commit release locks method 
throws a Runtime Exception which causes a soap fault message. this can be 
avoided by catching this exception at this 
level. But how ever there may be an error with the InMemory Transaction model.

Modified:
    
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/storage/inmemory/InMemoryTransaction.java

Modified: 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/storage/inmemory/InMemoryTransaction.java
URL: 
http://svn.apache.org/viewvc/webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/storage/inmemory/InMemoryTransaction.java?rev=747405&r1=747404&r2=747405&view=diff
==============================================================================
--- 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/storage/inmemory/InMemoryTransaction.java
 (original)
+++ 
webservices/sandesha/trunk/java/modules/core/src/main/java/org/apache/sandesha2/storage/inmemory/InMemoryTransaction.java
 Tue Feb 24 15:38:33 2009
@@ -81,12 +81,15 @@
                this.useSerialization = useSerialization;
                if(LoggingControl.isAnyTracingEnabled() && 
log.isDebugEnabled()) log.debug("Exit: InMemoryTransaction::<init>, " + this);
        }
-       
-       public void commit() {
-               releaseLocks();
-               if(sentMessages && useSerialization) 
manager.getSender().wakeThread();
-               active = false;
-       }
+
+    public void commit() {
+        try {
+            releaseLocks();
+        } catch (RuntimeException e) {
+        }
+        if (sentMessages && useSerialization) manager.getSender().wakeThread();
+        active = false;
+    }
 
        public void rollback() {
                releaseLocks();



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to