Author: ffang
Date: Thu Dec 16 03:25:05 2010
New Revision: 1049775

URL: http://svn.apache.org/viewvc?rev=1049775&view=rev
Log:
[SMX4-711]check Exception from Camel Exchange at very first place to honor asyn 
processor in camel 2.5

Modified:
    
servicemix/smx4/features/trunk/camel/servicemix-camel/src/main/java/org/apache/servicemix/camel/nmr/ServiceMixConsumer.java

Modified: 
servicemix/smx4/features/trunk/camel/servicemix-camel/src/main/java/org/apache/servicemix/camel/nmr/ServiceMixConsumer.java
URL: 
http://svn.apache.org/viewvc/servicemix/smx4/features/trunk/camel/servicemix-camel/src/main/java/org/apache/servicemix/camel/nmr/ServiceMixConsumer.java?rev=1049775&r1=1049774&r2=1049775&view=diff
==============================================================================
--- 
servicemix/smx4/features/trunk/camel/servicemix-camel/src/main/java/org/apache/servicemix/camel/nmr/ServiceMixConsumer.java
 (original)
+++ 
servicemix/smx4/features/trunk/camel/servicemix-camel/src/main/java/org/apache/servicemix/camel/nmr/ServiceMixConsumer.java
 Thu Dec 16 03:25:05 2010
@@ -96,15 +96,15 @@ public class ServiceMixConsumer extends 
     private void handleCamelResponse(Exchange exchange, 
org.apache.camel.Exchange camelExchange) {
         // just copy the camelExchange back to the nmr exchange
         exchange.getProperties().putAll(camelExchange.getProperties());
-        if (camelExchange.hasOut() && !camelExchange.getOut().isFault()) {
-            getEndpoint().getComponent().getBinding().
+        if (camelExchange.getException() != null) {
+               exchange.setError(camelExchange.getException());
+            exchange.setStatus(Status.Error);
+        } else if (camelExchange.hasOut() && 
!camelExchange.getOut().isFault()) {
+               getEndpoint().getComponent().getBinding().
                 copyCamelMessageToNmrMessage(exchange.getOut(), 
camelExchange.getOut());
         } else if (camelExchange.hasOut() && camelExchange.getOut().isFault()) 
{
-            getEndpoint().getComponent().getBinding().
+               getEndpoint().getComponent().getBinding().
                 copyCamelMessageToNmrMessage(exchange.getFault(), 
camelExchange.getOut());
-        } else if (camelExchange.getException() != null) {
-            exchange.setError(camelExchange.getException());
-            exchange.setStatus(Status.Error);
         } else {
             exchange.setStatus(Status.Done);
         }


Reply via email to