You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by ff...@apache.org on 2013/09/16 04:46:17 UTC

svn commit: r1523536 - /servicemix/components/trunk/engines/servicemix-drools/src/main/java/org/apache/servicemix/drools/model/JbiHelper.java

Author: ffang
Date: Mon Sep 16 02:46:17 2013
New Revision: 1523536

URL: http://svn.apache.org/r1523536
Log:
[SMXCOMP-973]Servicemix-drools - exchange submited two times, second raise error in logs

Modified:
    servicemix/components/trunk/engines/servicemix-drools/src/main/java/org/apache/servicemix/drools/model/JbiHelper.java

Modified: servicemix/components/trunk/engines/servicemix-drools/src/main/java/org/apache/servicemix/drools/model/JbiHelper.java
URL: http://svn.apache.org/viewvc/servicemix/components/trunk/engines/servicemix-drools/src/main/java/org/apache/servicemix/drools/model/JbiHelper.java?rev=1523536&r1=1523535&r2=1523536&view=diff
==============================================================================
--- servicemix/components/trunk/engines/servicemix-drools/src/main/java/org/apache/servicemix/drools/model/JbiHelper.java (original)
+++ servicemix/components/trunk/engines/servicemix-drools/src/main/java/org/apache/servicemix/drools/model/JbiHelper.java Mon Sep 16 02:46:17 2013
@@ -18,6 +18,7 @@ package org.apache.servicemix.drools.mod
 
 import javax.jbi.component.ComponentContext;
 import javax.jbi.messaging.DeliveryChannel;
+import javax.jbi.messaging.ExchangeStatus;
 import javax.jbi.messaging.Fault;
 import javax.jbi.messaging.InOnly;
 import javax.jbi.messaging.MessageExchange;
@@ -194,14 +195,17 @@ public class JbiHelper {
      * @param content the response
      * @throws Exception
      */    
-    public void answer(Source content) throws Exception {
-        MessageExchange me = this.exchange.getInternalExchange();
-        NormalizedMessage out = me.createMessage();
-        out.setContent(content);
-        me.setMessage(out, "out");
-        getChannel().send(me);
-        exchangeHandled = true;
-        update();
+    public void answer(Source content) throws Exception {        
+        MessageExchange me = this.exchange.getInternalExchange();               
+        if (me.getStatus() == ExchangeStatus.ACTIVE)
+        {            
+            NormalizedMessage out = me.createMessage();        
+            out.setContent(content);
+            me.setMessage(out, "out");
+            getChannel().send(me);
+            exchangeHandled = true;
+            update();
+        }
     }
 
     /**