[SMXCOMP-973]Servicemix-drools - exchange submited two times, second raise error in logs

git-svn-id: https://svn.apache.org/repos/asf/servicemix/components/trunk@1523536 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/engines/servicemix-drools/src/main/java/org/apache/servicemix/drools/model/JbiHelper.java b/engines/servicemix-drools/src/main/java/org/apache/servicemix/drools/model/JbiHelper.java
index 4609259..8176bba 100644
--- a/engines/servicemix-drools/src/main/java/org/apache/servicemix/drools/model/JbiHelper.java
+++ b/engines/servicemix-drools/src/main/java/org/apache/servicemix/drools/model/JbiHelper.java
@@ -18,6 +18,7 @@
 
 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 @@
      * @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();
+        }
     }
 
     /**