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(); + } } }