Author: hiranya
Date: Thu May 26 23:14:02 2016
New Revision: 1745677

URL: http://svn.apache.org/viewvc?rev=1745677&view=rev
Log:
Improved error handling in the AbstractListMediator; Triggering the fault 
sequence for all non-SynapseExceptions. Applying the patch provided by Buddhima 
at SYNAPSE-1011

Modified:
    
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/AbstractListMediator.java

Modified: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/AbstractListMediator.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/AbstractListMediator.java?rev=1745677&r1=1745676&r2=1745677&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/AbstractListMediator.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/AbstractListMediator.java
 Thu May 26 23:14:02 2016
@@ -19,10 +19,7 @@
 
 package org.apache.synapse.mediators;
 
-import org.apache.synapse.ManagedLifecycle;
-import org.apache.synapse.Mediator;
-import org.apache.synapse.MessageContext;
-import org.apache.synapse.SynapseLog;
+import org.apache.synapse.*;
 import org.apache.synapse.core.SynapseEnvironment;
 import org.apache.synapse.core.axis2.Axis2MessageContext;
 import org.apache.synapse.transport.passthru.util.RelayUtils;
@@ -59,7 +56,7 @@ public abstract class AbstractListMediat
 
             if (contentAware) {
                 try {
-                    RelayUtils.buildMessage(((Axis2MessageContext) 
synCtx).getAxis2MessageContext(),false);
+                    RelayUtils.buildMessage(((Axis2MessageContext) 
synCtx).getAxis2MessageContext(), false);
                 } catch (Exception e) {
                     handleException("Error while building message", e, synCtx);
                 }
@@ -72,6 +69,10 @@ public abstract class AbstractListMediat
                     return false;
                 }
             }
+        } catch (SynapseException e) {
+            throw e;
+        } catch (Exception e) {
+            handleException("Runtime error occurred while mediating the 
message", e, synCtx);
         } finally {
             synCtx.setTracingState(parentsEffectiveTraceState);
         }


Reply via email to