CAMEL-8082 CxfRs producer should close the connection if MEP is InOnly

Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/4e3d9f03
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/4e3d9f03
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/4e3d9f03

Branch: refs/heads/master
Commit: 4e3d9f03711f4086cb24701d29efa11e11e272b9
Parents: 2e985f9
Author: Willem Jiang <willem.ji...@gmail.com>
Authored: Thu Nov 27 15:15:16 2014 +0800
Committer: Willem Jiang <willem.ji...@gmail.com>
Committed: Thu Nov 27 15:16:18 2014 +0800

----------------------------------------------------------------------
 .../apache/camel/component/cxf/jaxrs/CxfRsProducer.java   | 10 ++++++++++
 1 file changed, 10 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/4e3d9f03/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsProducer.java
----------------------------------------------------------------------
diff --git 
a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsProducer.java
 
b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsProducer.java
index 694d989..6a092ce 100644
--- 
a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsProducer.java
+++ 
b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsProducer.java
@@ -214,6 +214,11 @@ public class CxfRsProducer extends DefaultProducer {
             
exchange.getOut().setBody(binding.bindResponseToCamelBody(response, exchange));
             
exchange.getOut().getHeaders().putAll(binding.bindResponseHeadersToCamelHeaders(response,
 exchange));
             exchange.getOut().setHeader(Exchange.HTTP_RESPONSE_CODE, 
statesCode);
+        } else {
+            // just close the input stream of the response object
+            if (response instanceof Response) {
+                ((Response)response).close();
+            }
         }
     }
 
@@ -269,6 +274,11 @@ public class CxfRsProducer extends DefaultProducer {
             
exchange.getOut().setBody(binding.bindResponseToCamelBody(response, exchange));
             
exchange.getOut().getHeaders().putAll(binding.bindResponseHeadersToCamelHeaders(response,
 exchange));
             exchange.getOut().setHeader(Exchange.HTTP_RESPONSE_CODE, 
statesCode);
+        } else {
+            // just close the input stream of the response object
+            if (response instanceof Response) {
+                ((Response)response).close();
+            }
         }
     }
     

Reply via email to