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]